WPF CheckBox

WPF CheckBox Control
This article demonstrates how to create and use a CheckBox control in WPF with the help of XAML and C#.
Creating a CheckBox
The CheckBox element represents a WPF CheckBox control in XAML.
  1. <CheckBox/>  
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.
  1. <CheckBox Name="McCheckBox" Foreground="Orange"  
  2.    Canvas.Left="20" Canvas.Top="10" Content="Check Me"  
  3.    FontFamily="Georgia" FontSize="20" FontWeight="Bold" >  
  4. </CheckBox>  
Listing 1
The output looks like Figure 1.

WPF CheckBox
Figure 1
The IsChecked property represents the state of the CheckBox control. The IsThreeState property represents whether the CheckBox has two or three states. Three states are checked, unchecked, or indeterminate. The code snippet in Listing 2 sets IsChecked and IsThreeState properties of the CheckBox.
  1. <CheckBox Name="McCheckBox"  
  2.    Canvas.Left="10" Canvas.Top="10"  
  3.    Content="Check Me"  
  4.    IsChecked="True" IsThreeState="True" >  
  5. </CheckBox>  
Listing 2
Adding a CheckBox Click Event Handler
The 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.
  1. <CheckBox Name="McCheckBox"  
  2.    Canvas.Left="10" Canvas.Top="10"  
  3.    Content="Check Me"  
  4.    IsChecked="True" IsThreeState="True"  
  5.    Checked="McCheckBox_Checked" Unchecked="McCheckBox_Unchecked">  
  6. </CheckBox>  
Listing 3
The code for the click event handler looks like following.
  1. private void McCheckBox_Checked(object sender, RoutedEventArgs e) {}  
  2. 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 notice the content of the CheckBox changing.
  1. private void McCheckBox_Checked(object sender, RoutedEventArgs e) {  
  2.     McCheckBox.Content = "Checked";  
  3. }  
  4. private void McCheckBox_Unchecked(object sender, RoutedEventArgs e) {  
  5.     McCheckBox.Content = "Unchecked";  
  6. }  
Listing 4
Creating a CheckBox Dynamically
The code listed in Listing 5 creates a CheckBox control and sets some of its properties at run-time.
  1. private void CreateDynamicCheckBox() {  
  2.     CheckBox chb = new CheckBox();  
  3.     chb.Content = "Click me";  
  4.     chb.IsChecked = true;  
  5.     chb.Foreground = new SolidColorBrush(Colors.Orange);  
  6.     chb.IsChecked = true;  
  7.     LayoutRoot.Children.Add(chb);  
  8. }  
Listing 5
In this article, I discussed how we can create a CheckBox control in WPF at design-time using XAML and at run-time using C#.

Founded in 2003, Mindcracker is the authority in custom software development and innovation. We put best practices into action. We deliver solutions based on consumer and industry analysis.