一千萬個為什麽

搜索

WPF ValidationRule在加載控件時驗證

我有一個控件與此驗證


 
  
   
  
 

這是驗證類:

class MyValidationRule : ValidationRule
{        
 private string _validationType;
 public string ValidationType
 {
  get { return _validationType; }
  set { _validationType = value;  }
 }

 public override ValidationResult Validate(object value, CultureInfo cultureInfo)
 {            
  ValidationResult trueResult = new ValidationResult(true, null);

  switch (_validationType.ToLower())
  {
   case "notnull": return value == null ? new ValidationResult(false, "EMPTY FIELD") : trueResult;               
   default: return trueResult;
  }
 }
}

問題:更改屬性後,將調用Validate()方法,該方法是正確的。

但是,在創建MyControl時一開始就調用此方法?如果控件中有空值(並顯示驗證錯誤),我需要在初始化後證明立即

最佳答案

好的我已經解決了: 當元素與簡單屬性綁定時強制進行驗證 - ValidatesOnTargetUpdated

 

轉載註明原文: WPF ValidationRule在加載控件時驗證