INotifyDataErrorInfo验证属性的属性

时间:2014-09-22 23:36:24

标签: c# wpf validation inotifydataerrorinfo

我正在开发我的wpf应用程序并使用INotifyDataErrorInfo进行验证。我有两个类(A& B),其中一个(A)有两个实例(B)。现在我想从A验证B的属性。是否可以使用INotifyDataErrorInfo?

这是我的示例代码:

class BaseValidation : INotifyDataErrorInfo, INotifyPropertyChanged
{
   // the implementaion of interface
   public void MyValidationMethod(string propertyName, Func<bool> expression, string errorMessage)
    {

     }
}

class B : BaseValidation
{
    public string MyString 
    {
         get {return _myString;}
         set {_myString = value;}
    }
}

class A : BaseValidation
{
     public B objB1;
     public B objB2

     A(){
          objB1 = new B();
          objB1.PropertyChanged += OnObjBPropertyChanged;
          objB2 = new B();
     }

     private void OnObjBPropertyChanged(object sender, PropertyChangedEventArgs arg)
     {
          MyValidationMethod("objB1.MyString ", () => objB1.MyString != objB2.MyString , "Error");
     // here validation will pass if MyString are not equal
     }
}

我觉得我在验证方法中传递了错误的属性名称。我无法在B内实现此验证,因为我需要其他B对象的数据。我认为这种类型的验证是可能的,因为我可以假设这是一种常见的情况,我该怎么做?

0 个答案:

没有答案