Handle CheckBox Unchecked events
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WPF" Height="250" Width="300">
<StackPanel Name="panel">
<CheckBox Content="First CheckBox"
IsChecked="True" Margin="2" Name="checkbox1"
Unchecked="CheckBox_Unchecked"/>
<CheckBox Content="Second CheckBox"
IsChecked="False" Margin="2" Name="checkbox2"
Unchecked="CheckBox_Unchecked"/>
<Button Content="Get Selected" Margin="5" MaxWidth="100"
Click="Button_Click" />
<TextBlock FontWeight="Bold" Text="Selected CheckBoxes:" />
<ListBox Margin="5" MinHeight="2cm" Name="listbox" />
</StackPanel>
</Window>
//File:Window.xaml.cs
using System.Linq;
using System.Windows;
using System.Windows.Controls;
namespace WpfApplication1
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
listbox.Items.Clear();
foreach (CheckBox checkbox in panel.Children.OfType<CheckBox>().Where( cb => cb.IsChecked == true))
{
listbox.Items.Add(checkbox.Name);
}
}
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
if (!IsInitialized) return;
CheckBox checkbox = e.OriginalSource as CheckBox;
if (checkbox != null)
{
MessageBox.Show(checkbox.Name + " is unchecked.", Title);
}
}
}
}
Related examples in the same category