【发布时间】:2023-03-19 04:08:01
【问题描述】:
在 WPF 数据绑定中,我可以将 IsChecked 属性绑定到一些数据,例如用户设置,但我需要处理“CheckChanged”事件,我知道我可以分别处理 Checked、Unchecked事件,但是有什么方法可以在更改此值时得到通知?
<CheckBox Content="Case Sensitive" IsChecked="{Binding bSearchCaseSensitive,
Source={x:Static Properties:Settings.Default}}" />
注意:我不在乎它是选中还是未选中。我只想在更改时收到通知。
【问题讨论】:
-
你要那个干什么?为什么不将
IsChecked属性绑定到 ViewModel 中的某个东西并对该属性做出反应? UI 不是数据。 -
已经绑定到用户设置。 UI不是数据,这与提出的问题有关吗?
-
我的观点是,如果 ViewModel 需要知道什么时候发生了变化,你应该真正将它绑定到 ViewModel,而不是静态的东西,然后你可以从 VM 中更改静态值.
-
我不想改变值,我想处理改变的事件并做其他事情,例如显示一个消息框。你有什么建议来挂钩这个事件吗?
-
表示感谢。但我想看看是否有更简洁的解决方案。