/// <summary> /// /// </summary> /// <returns></returns> public bool IsValid() { bool result = true; foreach (KeyValuePair <string, List <ValidationRule> > kvp in this.rules) { foreach (ValidationRule rule in kvp.Value) { System.Windows.Controls.ValidationResult vresult = rule.Validate(this.properties[kvp.Key].GetValue(this.CurrentItem, null), System.Globalization.CultureInfo.CurrentUICulture); if (vresult.IsValid == false) { result = false; if (!Validation.GetHasError(this.controls[kvp.Key])) { Validation.MarkInvalid(this.bindings[kvp.Key], new ValidationError(rule, this.bindings[kvp.Key].ParentBindingBase, vresult.ErrorContent, null)); } } } } return(result); }