This article demonstrates how to create and use a CheckBox control in WPF using XAML and C#.
Creating a CheckBox
The CheckBox element represents a WPF CheckBox control in XAML.
The
Content attribute represents the text of a CheckBox.
The
Name attribute represents the name of the control, which is a unique identifier of a control.
The
Foreground attribute defines the foreground color of the text of the CheckBox.
The
Content attribute defines the text of the CheckBox.
FontFamily,
FontStyle,
FontWeight,
FontSize and
FontStretch are font related attributes.
The code snippet in
Listing 1 creates a CheckBox control and sets the name, content, foreground and font related properties of a CheckBox control.
- <CheckBox Name="McCheckBox" Foreground="Orange"
- Canvas.Left="20" Canvas.Top="10" Content="Check Me"
- FontFamily="Georgia" FontSize="20" FontWeight="Bold" >
- </CheckBox>
Listing 1The output looks like Figure 1.
Figure 1The
IsChecked property represents the state of the CheckBox control. The
IsThreeState property represents whether the CheckBox has two or three states. The three states are
checked,
unchecked and
indeterminate. The code snippet in
Listing 2 sets the IsChecked and IsThreeState properties of the CheckBox.
- <CheckBox Name="McCheckBox"
- Canvas.Left="10" Canvas.Top="10"
- Content="Check Me"
- IsChecked="True" IsThreeState="True" >
- </CheckBox>
Listing 2Adding a CheckBox Click Event HandlerThe
Checked and
Unchecked attributes of the CheckBox element adds the checked and unchecked event handler. These events are fired when a CheckBox state is changed to checked and unchecked respectively. The code in
Listing 3 adds these two event handlers.
- <CheckBox Name="McCheckBox"
- Canvas.Left="10" Canvas.Top="10"
- Content="Check Me"
- IsChecked="True" IsThreeState="True"
- Checked="McCheckBox_Checked" Unchecked="McCheckBox_Unchecked">
- </CheckBox>
Listing 3The code for the click event handler looks like the following.
- private void McCheckBox_Checked(object sender, RoutedEventArgs e)
- {
- }
- private void McCheckBox_Unchecked(object sender, RoutedEventArgs e)
- {
- }
The code listed in
Listing 4 sets the content of a CheckBox on both checked and unchecked events. When you check or uncheck the CheckBox, you will see the content of the CheckBox changing.
- private void McCheckBox_Checked(object sender, RoutedEventArgs e)
- {
- McCheckBox.Content= "Checked";
- }
- private void McCheckBox_Unchecked(object sender, RoutedEventArgs e)
- {
- McCheckBox.Content= "Unchecked";
- }
Listing 4
Creating a CheckBox DynamicallyThe code listed in
Listing 5 creates a CheckBox control and sets some of its properties at run-time.
- private void CreateDynamicCheckBox()
- {
- CheckBox chb = new CheckBox();
- chb.Content = "Click me";
- chb.IsChecked = true;
- chb.Foreground = new SolidColorBrush(Colors.Orange);
- chb.IsChecked = true;
- LayoutRoot.Children.Add(chb);
- }
Listing 5
SummaryIn this article, I discussed how to create a CheckBox control in WPF at design-time using XAML and at run-time using C#.