MVVM(Model-View-ViewModel)模式通常用于WPF应用程序中,以便非常有效地使用数据绑定功能。带Windows窗体的MVVM
我在Windows Forms应用程序中使用了MVVM模式,该模式到目前为止效果很好。然而,在某些情况下,我有一个问题与Windows绑定窗体控件: 说我通过
dtpMyDateTimePicker.DataBindings.Add("Value", mViewModel, "CurrentDate")
绑定一个标准的日期时间选择器我的视图模型的的currentdate属性的值属性,属性才会更新当控制失去焦点时。通过点击“箭头”符号来查看日期时间选择器的工作方式,您可以打开日历并滚动浏览月/年。虽然我想不断更新我的表单,当滚动浏览不同的日期时,数据绑定只会在我选择日期并关闭日历工具时更新我的viewModel的属性。
一个更简单的例子是数据绑定文本框的文本属性(设想一个搜索字段) - 我正在使用的数据绑定方法不允许在输入时不断更新我的表单。
很明显,我可以在窗体上实现控件的_ValueChanged事件,并手动更新ViewModel的属性。然而,由于我现在只使用单向数据绑定(ViewModel - > View)并需要在窗体中再次实现逻辑(更改事件),因此这会将整个魔术带出MVVM模式。
TLDR:所以基本上我正在寻找一种方法在Windows窗体应用程序中指定某种UpdateSourceTrigger。
你有什么建议如何做到“正确”?
预先感谢您!