Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

CheckBox Class

Updated: February 2009

Represents a control that a user can select and clear.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)

public class CheckBox : ToggleButton

CheckBox controls inherit from ToggleButton and can have three states: checked (selected), unchecked (cleared), and indeterminate.

Content Model: CheckBox is a ContentControl. Its content property is Content. For more information on the content model for CheckBox, see Controls Content Model Overview.

Dependency properties for this control might be set by the control’s default style. If a property is set by a default style, the property might change from its default value when the control appears in the application. The default style is determined by which desktop theme is used when the application is running. For more information, see Themes.

The following example creates a CheckBox and handles the Checked, Unchecked, and Indeterminate events.

    <RowDefinition Height="Auto"/>
    <RowDefinition Height="Auto"/>
    <RowDefinition Height="Auto"/>

  <TextBlock Text="CheckBox Demonstration" Margin="0,20,10,20"
             FontFamily="Verdana" FontSize="18" FontWeight="Bold"
             Foreground="#FF5C9AC9" Grid.Row="0"/>

  <CheckBox x:Name="cb1" Grid.Row="1" Margin="5,0,0,0" 
            Content="Three-state CheckBox" IsThreeState="True"
            Checked="HandleCheck" Unchecked="HandleUnchecked" 
            Indeterminate="HandleThirdState" />
  <TextBlock x:Name="text1" Grid.Row="2" Margin="5,0,0,0" />
private void HandleCheck(object sender, RoutedEventArgs e)
    text1.Text = "The CheckBox is checked.";

private void HandleUnchecked(object sender, RoutedEventArgs e)
    text1.Text = "The CheckBox is unchecked.";

private void HandleThirdState(object sender, RoutedEventArgs e)
    text1.Text = "The CheckBox is in the indeterminate state.";


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0




February 2009

Described how default styles change dependency properties.

Customer feedback.

October 2008

Added new example.

Customer feedback.

© 2018 Microsoft