#854 – Clicked vs. Checked/Unchecked Events for CheckBox
July 2, 2013 1 Comment
If you want to add an event handler for a CheckBox that gets executed whenever a user clicks on the CheckBox, you can take one of two different approaches:
- Add a handler for the Click event and then check the IsChecked property to discover the new state (checked / unchecked / indeterminate)
- Handle one or more of the specific events for the individual states–Checked, Unchecked or Indeterminate
When a user clicks on the CheckBox, the specific event (e.g. Checked) is fired, followed by the Click event.
private void CheckBox_Click(object sender, RoutedEventArgs e) { CheckBox cb = sender as CheckBox; string checkState; if (!cb.IsChecked.HasValue) checkState = "Indeterminate"; else { if (cb.IsChecked == true) checkState = "Checked"; else checkState = "Unchecked"; } Trace.WriteLine(string.Format("Click event: {0}", checkState)); } private void CheckBox_Checked(object sender, RoutedEventArgs e) { Trace.WriteLine("Checked event"); } private void CheckBox_Unchecked(object sender, RoutedEventArgs e) { Trace.WriteLine("Unchecked event"); } private void CheckBox_Indeterminate(object sender, RoutedEventArgs e) { Trace.WriteLine("Indeterminate event"); }
Pingback: Dew Drop – July 2, 2013 (#1,577) | Alvin Ashcraft's Morning Dew