I am using a
ToggleButton in a WPF window:
I have two events that I am monitoring, but this is done in two different code behind handlers. How can this be done in only one?
I will have many
ToggleButtons, and the code can get large.
You can attach a single click event of your
ToggleButton and in its handler you can check the
IsChecked property by type casting the sender object in your handler like this -
private void ToggleButton_Click(object sender, RoutedEventArgs e)
if((sender as ToggleButton).IsChecked)
// Code for Checked state
// Code for Un-Checked state
<ToggleButton Height="37" HorizontalAlignment="Left" Margin="485.738,254.419,0,0" VerticalAlignment="Top" Width="109" IsEnabled="True" Click="ToggleButton_Click">Timeout</ToggleButton>
You should not use
Click event as some answers suggest, because it will not work when the property
IsChecked is changed by code or any other event than mouse (keyboard, animation..). This is simply a bug.
Instead you can use the same handler for both
Unchecked and do action depending on
private void tBtn_super_Click(object sender, RoutedEventArgs e)
if (tBtn_super.IsChecked == true)