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。
你有什麼建議如何做到「正確」?
預先感謝您!