WPF中的确定性和异步字段验证

bit*_*onk 6 validation wpf binding mvvm

在我的基于MVVM的应用程序中,我需要验证数据条目中的字段.如果可能,我想使用与ErrorTemplates的标准WPF验证绑定.

但是我希望验证逻辑的执行完全由ViewModel驱动/触发(推送到View,而不是由View拉动),原因如下:

  1. 它必须异步工作,因为验证逻辑可能需要一段时间才能执行.
  2. 在执行验证逻辑时,我需要更具确定性和细粒度(例如,仅在用户单击"应用"之后或当内部状态以条目突然变为无效的方式更改时)

我知道Silverlight INotifyDataErrorInfo是为了这个目的而引入的,但是WPF没有.我怎样才能确定性和异步地验证我的验证逻辑?

Pau*_*lls 0

我在你的另一个问题上发表了一个答案,显然也回答了这个问题。

在代码中根据控件模板创建可视化树