#351 – Binding a CheckBox’s IsChecked Property to a Boolean Variable
July 27, 2011 5 Comments
Instead of handling the Checked and Unchecked events of a CheckBox and then setting a boolean variable to represent the current state, you’ll most often just use data binding to bind the IsChecked property to a boolean variable.
In the example below, we have three CheckBox controls, each bound to a boolean property.
<Label Content="Things my dog can do:"/>
<CheckBox Content="Sit" IsChecked="{Binding CanSit}"/>
<CheckBox Content="Stay" IsChecked="{Binding CanStay}"/>
<CheckBox Content="Fetch" IsChecked="{Binding CanFetch}"/>
<Button Content="Test" Click="Test_Click"/>
In the code-behind, we define the boolean properties that we can bind to and then set the data context to refer to the parent class.
public bool CanSit { get; set; }
public bool CanStay { get; set; }
public bool CanFetch { get; set; }
public MainWindow()
{
this.InitializeComponent();
this.DataContext = this;
}
private void Test_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(string.Format("Sit: {0}, Stay: {1}, Fetch: {2}", CanSit, CanStay, CanFetch));
}
