我如何知道用户输入更改的任何控件的值何时更改(与鼠标或键盘交互)?
有什么建议吗?这有什么共同的方法吗?
编辑:
我正在寻找附加属性或扩展已经给定的控件或任何需要的东西,只是为了通知用户输入是否在更改时发生。例如,用户输入更改了ComboBox SelectedItem(用户可以在下拉菜单中输入文本或选择项目)
其纯粹的View事件因此我很抱歉,但不会接受针对此问题的ViewModel解决方案。
答案 0 :(得分:0)
最简单的方法就是注册Binding.TargetUpdated
事件,当UI端更新时触发(当ViewModel端更新时触发Binding.SourceUpdated
)
答案 1 :(得分:0)
在视图模型中使用具有支持字段的属性。引入第二个setter - 一个SetProp()
方法 - 在ViewModel中使用。这样,您可以添加不同的行为,具体取决于调用的来源。
```
private bool mMyProp;
public bool MyProp
{
get { return mMyProp; }
set
{
if (mMyProp != value)
{
mMyProp = value;
// Todo: add here code specific for calls coming from the UI
RaisePropertyChanged(() => MyProp);
}
}
}
public void SetPropFromViewModel(bool value)
{
if (mMyProp != value)
{
mMyProp = value;
// Todo: add here code specific for calls coming from ViewModel
RaisePropertyChanged(() => MyProp);
}
}