Tôi có một điều khiển với xác nhận nàyWPF ValidationRule Validate khi kiểm soát được nạp
<MyPicker.SelectedItem>
<Binding Path="Person.Value" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True">
<Binding.ValidationRules>
<rules:MyValidationRule ValidationType="notnull"/>
</Binding.ValidationRules>
</Binding>
</MyPicker.SelectedItem>
Đây là lớp Validation:
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;
}
}
}
Câu hỏi: Khi tài sản được thay đổi, thì Validate () được gọi là đúng.
Nhưng để gọi phương thức này ngay từ đầu khi MyControl được tạo? Tôi cần phải chứng minh ngay lập tức sau khi khởi tạo nếu có giá trị null trong điều khiển (và hiển thị lỗi xác thực)