我为WPF的INotifyDataErrorInfo找到的文档似乎表明,当通过UI设置值或调用INotifyDataErrorInfo的ErrorsChanged事件时,调用GetErrors()方法。
但这与我在调试一个窗口时看到的情况不匹配,该窗口的DataContext是实现INotifyDataErrorInfo的视图模型(所讨论的视图模型构建在Mvvm上)。
相反,当窗口初始化并设置其GetErrors()时,只调用(),但在视图模型代码引发ErrorsChanged事件时只调用。在我的示例中,只要在视图模型中设置了某些属性,就会使用我编写的代码来引发ErrorsChanged事件。
我之所以问这个问题,是因为我想知道是否需要处理GetErrors()可能被WPF调用而不首先调用验证代码的情况。这可能会错误地报告不存在错误,而实际上只有这样,因为还没有进行验证。
发布于 2018-04-20 17:30:34
当错误发生时,它被称为。
我刚用我的样本做了实验。这件事:https://gallery.technet.microsoft.com/scriptcenter/WPF-Entity-Framework-MVVM-78cdc204
我在我的基类的恐怖方法中放置了一个断点,并将其旋转起来。
直到我把一些东西弄得无效后,才叫恐怖分子。
如果你看到不同的行为,那就是你在做不同的事情。
https://stackoverflow.com/questions/49946654
复制相似问题