我正在使用IDataErrorInfo来验证我的viewmodels,因为它允许我使用一个清晰的xaml sintax,一旦你得到它就非常简单。
我的问题是如何在另一个属性更改时验证一个属性,因为验证不仅仅包含单元格上的值,而是依赖于其他属性。我发现只有在属性值发生变化时才会调用验证方法。
提前致谢。
答案 0 :(得分:1)
使用IDataErrorInfo可以挂钩
public string this[string columnName]
通过覆盖或自己编写。
在你的情况下检查columnName是否等于你想要验证的属性,然后返回一个带有值的字符串来表示验证错误,或者返回null表示没有错误。
另外,为确保重新验证,当依赖属性更新时,请确保为主属性执行OnPropertyChanged