WPF Toggle Button Checked/Uchecked evento con un controlador
events togglebutton (3)
Estoy usando un ToggleButton
en una ventana de WPF:
<ToggleButton Height="37"
HorizontalAlignment="Left"
Margin="485.738,254.419,0,0"
VerticalAlignment="Top"
Width="109"
IsEnabled="True"
Checked="toggleAPDTimeoutErr_Checked"
Unchecked="toggleAPDTimeoutErr_Unchecked">Timeout</ToggleButton>
Tengo dos eventos que estoy monitoreando, pero esto se hace en dos códigos diferentes detrás de los controladores. ¿Cómo se puede hacer esto en una sola?
Tendré muchos ToggleButton
s, y el código puede ser grande.
No debe usar el evento Click
como sugieren algunas respuestas, ya que no funcionará cuando la propiedad IsChecked
se IsChecked
por código o cualquier otro evento que no sea el mouse (teclado, animación ...). Esto es simplemente un error.
En su lugar, puede usar el mismo controlador tanto para IsChecked
como IsChecked
y hacer una acción según la propiedad IsChecked
.
<ToggleButton
Checked="toggleButton_IsCheckedChanged"
Unchecked="toggleButton_IsCheckedChanged" />
Prueba esto
private void tBtn_super_Click(object sender, RoutedEventArgs e)
{
if (tBtn_super.IsChecked == true)
{
MessageBox.Show("True");
}
else
{
MessageBox.Show("False");
}
}
Puede adjuntar un evento de un solo clic de su ToggleButton
y en su controlador puede verificar la propiedad IsChecked
ToggleButton
IsChecked
el objeto remitente en su controlador de esta manera:
private void ToggleButton_Click(object sender, RoutedEventArgs e)
{
if((sender as ToggleButton).IsChecked)
{
// Code for Checked state
}
else
{
// Code for Un-Checked state
}
}
Xaml:
<ToggleButton Height="37" HorizontalAlignment="Left" Margin="485.738,254.419,0,0" VerticalAlignment="Top" Width="109" IsEnabled="True" Click="ToggleButton_Click">Timeout</ToggleButton>