WPF切换按钮选中/ Uchecked事件有一个处理程序

我在WPF窗口使用ToggleButton:WPF切换按钮选中/ Uchecked事件有一个处理程序

<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>

我有我监控两个事件,但是这是在处理后的两个不同的代码来完成。这只能如何做到一个呢?

我会有很多ToggleButton s,并且代码可能变大。

回答:

您可以将一个单一的点击事件你ToggleButton,并在其处理您可以通过类型转换发送对象在你的处理器这样的检查ToggleButtonIsChecked属性 -

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> 

回答:

试试这个

private void tBtn_super_Click(object sender, RoutedEventArgs e) 

{

if (tBtn_super.IsChecked == true)

{

MessageBox.Show("True");

}

else

{

MessageBox.Show("False");

}

}

回答:

您应该不会使用Click事件,因为某些答案会提示,因为当代码或除鼠标(键盘,动画..)之外的任何其他事件更改了属性IsChecked时,该事件将不起作用。这只是一个错误。

相反,您可以对CheckedUnchecked使用相同的处理程序,并根据IsChecked属性执行操作。

<ToggleButton 

Checked="toggleButton_IsCheckedChanged"

Unchecked="toggleButton_IsCheckedChanged" />

以上是 WPF切换按钮选中/ Uchecked事件有一个处理程序 的全部内容, 来源链接: utcz.com/qa/266369.html

回到顶部