[英]How to implement generic control validation?
最近,我一直試圖養成在項目中使用MVVM設計模式的習慣,以便在應用程序中分離各個模塊並使之適合於單元測試。
我已經進入輸入驗證。 我正在ViewModel中實現IDataErrorInfo ...對於TextBox來說,這似乎工作得很好。
我目前正在嘗試找出如何在綁定到自定義對象的ObservableCollection的ListBox控件上實現IDataErrorInfo。 問題是每行(ListBoxItem)直接更新模型,因此繞過了我在ViewModel中的IDataErrorInfo實現。 所以我看的方式我可以做兩件事之一-
1)創建一個輔助ViewModel(代表ListBoxItems),我用它來填充Observable集合並在其上實現IDataErrorInfo。
2)在模型上實現IDataErrorInfo。 但是,由於ViewModel主要用於中繼來自我的模型的引用,因此我可能會考慮將我的所有IDataErrorInfo實現都移到我的Model類中以實現一致性...
你會怎么做?
還有...關於創建可重用的驗證方法的任何建議,我可以輕松地將其應用於任何類型的Control?
干杯
你會怎么做?
當然,第一個選項是為列表項創建輔助視圖模型。 您不應該在模型中實現IDataErrorInfo
,因為這是特定於UI的功能。
可重用的驗證方法,我可以輕松地將其應用於任何類型的控件
您誤解了MVVM。 IDataErrorInfo
用於視圖模型驗證,而不用於控件驗證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.