【发布时间】:2018-05-25 22:13:19
【问题描述】:
我在 UWP 应用中有一个 CheckBox,由用户和背后的代码操作。当用户检查它时,我确实希望触发 Checked 事件。但是,当后面的代码检查它时(如下所示),我不希望它触发。
checkBoxExample.isChecked = true; //The Checked event should not fire.
我想我会从发件人(对象)或 e(RoutedEventArgs)获得此信息,但它不存在。
【问题讨论】:
-
你有没有想过在 UWP 中添加一个类似于以下的布尔字段:
-
我认为您可以只跟踪
Tapped事件而不是Checked,然后像var isChecked = checkbox.isChecked;一样直接在事件处理程序中获取新值 -
@AndreyAshikhmin 我认为不应使用
Tapped事件,它仅适用于触摸、笔和鼠标输入。我在回答中提到了这一点 -
这是一个很好的例子,为什么您必须使用 MVVM 而不是将逻辑直接放入代码隐藏中