WPF复选框的已检查状态和未检查状态的单独事件:原因

本文关键字:检查 状态 事件 原因 单独 复选框 WPF | 更新日期: 2023-09-27 17:49:33

  1. 有没有像Changed这样的单一事件可以一起处理这两个事件?

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

WPF复选框的已检查状态和未检查状态的单独事件:原因

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

一般来说:我根本不会使用事件——我会将IsChecked属性绑定到ViewModel上的一个appropiate属性,将代码保持在最低限度(理想情况下根本没有自定义代码(。

拆分为那些需要它的人提供了更大的粒度(对那些不需要的人来说不会有什么影响(,如果你愿意,你可以用一个处理程序来处理这两个事件。

 <CheckBox Content="CheckBox" Name="checkBox1" Checked="checkBox1_changed" Unchecked="checkBox1_changed" />

例如,选中时启动情节提要,取消选中时停止。