wpf中所有元素的数据验证

wpf中所有元素的数据验证,wpf,validation,Wpf,Validation,我有一个WPF窗口。我需要一个验证机制来一次检查所有元素。如果使用IDataErrorInfo,则在索引器中一次只能验证一个对象 public string this[string columnName] { get { if (columnName == "Country")) { if (string.IsNullOrEmpty(Country)) return "Country can'

我有一个WPF窗口。我需要一个验证机制来一次检查所有元素。如果使用IDataErrorInfo,则在索引器中一次只能验证一个对象

public string this[string columnName]
{
    get
    {
        if (columnName == "Country"))
        {
            if (string.IsNullOrEmpty(Country))
                return "Country can't be empty";
        }
        return null;
    }
}

如何在验证方法中获取窗口的所有字段?

我认为最好的方法是声明一个自定义属性,并用它修饰要验证的属性,然后根据这些属性是否具有该自定义属性,使用反射来迭代这些属性。

问题是何时要检查所有“字段”。答案是当你想检查allSo国家是公共财产时,使用.Error属性?