WPF CheckBox的已检查和未检查状态的单独事件:为什么?

Joa*_*nge 22 .net c# wpf events xaml

  1. 有没有像Changed我可以用来同时处理这两个事件的单一事件?

  2. 他们为什么这样分开?
    是因为为两者都有一个事件需要你通过名称引用控件,你需要在XAML中指定,这会增加混乱吗?

Fem*_*ref 27

  1. 不是直接的.但是,您可以对两者使用相同的事件处理程序,并查询参数的IsChecked属性sender(在将其转换为CheckBoxToggleButton当然)之后.
  2. 这两个事件是wpf特定技术所必需的,如故事板EventTriggers等.EventTriggers无法区分状态,只能通过事件,因此需要两个不同的事件.

总的来说:我根本不会使用这些事件 - 我会将IsChecked属性绑定到您的适当属性ViewModel,将代码保持在最低限度(理想情况下根本没有自定义代码).


Bal*_*a R 11

拆分为需要它的人提供了更多的粒度(对于那些不需要它的人来说不会受到伤害),如果你想要,你可以用一个处理程序处理这两个事件.

 <CheckBox Content="CheckBox" Name="checkBox1" Checked="checkBox1_changed" Unchecked="checkBox1_changed" />
Run Code Online (Sandbox Code Playgroud)