A Label displays text. We can dynamically change the Content of a Label. The Label_Loaded
event handler allows to changes its attributes at WPF program startup.
First, please create a new WPF project, and drag a Label to the designer window. Next change the markup of the XAML file—this is where the controls are specified.
Here we create the Label_Loaded
event. Please type "Label" into the XAML file and then have Visual Studio auto-generate the C# event handler.
Label_Loaded
, we assign the Content of the Label to a string
. We cast the argument "sender" to the Label type.HorizontalAlignment
of the Label to be Stretch—this makes the label expand its width.<Window x:Class="WpfApplication4.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Label Content="Label" HorizontalAlignment="Stretch" Margin="10,10,10,10" VerticalAlignment="Center" Background="Beige" Padding="5" FontSize="30" Loaded="Label_Loaded"/> </Grid> </Window>using System; using System.Windows; using System.Windows.Controls; namespace WpfApplication4 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Label_Loaded(object sender, RoutedEventArgs e) { // ... Get label. var label = sender as Label; // ... Set date in content. label.Content = DateTime.Now.ToShortDateString(); } } }
Loaded
Why do we use the Label_Loaded
event handler to assign a value to the Label? A static
(constant) label can be assigned directly within the XAML.
Label_Loaded
event handler provides a convenient way to access the Label at program startup, and modify its Content.TextBlock
, LabelWhat is the difference between the TextBlock
element and the Label element? The TextBlock
element by default has attributes for longer text.
TextBlock
provides the TextWrapping
attribute. Label has no TextWrapping
attribute.TextBlock
is for a larger "block" of text. The Label is for a shorter, "labeling" piece of text.In a WPF program, the need to use visual, text labels on controls is common. We used the Label control and its Label_Loaded
event.