WPF复选框的已检查状态和未检查状态的单独事件:原因
本文关键字:检查 状态 事件 原因 单独 复选框 WPF | 更新日期: 2023-09-27 17:49:33
-
有没有像
Changed
这样的单一事件可以一起处理这两个事件? -
为什么他们会这样分开
这是因为为两者都有一个单独的事件需要按名称引用控件,而这需要在XAML中指定,这会增加混乱吗?
- 不直接。但是,您可以对两者使用相同的事件处理程序,并查询
sender
参数的IsChecked
属性(当然是在将其转换为CheckBox
或ToggleButton
之后( - 这两个事件是wpf特定技术所必需的,如故事板、
EventTriggers
等。EventTriggers
无法区分状态,只能通过事件来区分,因此需要两个不同的事件
一般来说:我根本不会使用事件——我会将IsChecked
属性绑定到ViewModel
上的一个appropiate属性,将代码保持在最低限度(理想情况下根本没有自定义代码(。
拆分为那些需要它的人提供了更大的粒度(对那些不需要的人来说不会有什么影响(,如果你愿意,你可以用一个处理程序来处理这两个事件。
<CheckBox Content="CheckBox" Name="checkBox1" Checked="checkBox1_changed" Unchecked="checkBox1_changed" />
例如,选中时启动情节提要,取消选中时停止。