[英]INotifyDataErrorInfo and asynchronous data validation in WPF 4.5
[英]Is is possible to use a combination of ValidationRules and INotifyDataErrorInfo for wpf validation?
在 WPF 中,有 3 種方法可以進行驗證:
IDataErrorInfo
INotifyDataErrorInfo
是否可以同時使用這些的組合? 根據我的需要,我想使用 INotifyDataErrorInfo 的靈活性來驗證新規則,但不想干擾我要驗證的同一對象的現有 ValidationRules。
1. 混合不同的錯誤來源
是的,您可以混合使用您引用的三種驗證:
ValidationRules
適用於 GUI(表面)驗證IDataErrorInfo
在視圖模型/業務對象上實現。 更適合面向業務的驗證INotifyDataErrorInfo
也在視圖模型/業務對象上實現。 它增加了在給定字段上出現多個錯誤的可能性,並增加了異步驗證(即服務器或線程可能需要時間來回答驗證)。最后一個錯誤源的實現時間確實更長
2. 考慮錯誤
最困難的是在數據無效時要防止窗口被關閉時考慮不同的錯誤來源。
必須在 GUI 綁定中查找 ValidationRules 錯誤,因為無效數據無法到達業務對象/ViewModel。
IDataErrorInfo
和INotifiDataErrorInfo
可以在 ViewModel 層中查看。
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.