WPF ValidationRule Valida quando o controle é carregado
Eu tenho um controle com esta validação
<MyPicker.SelectedItem>
<Binding Path="Person.Value" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True">
<Binding.ValidationRules>
<rules:MyValidationRule ValidationType="notnull"/>
</Binding.ValidationRules>
</Binding>
</MyPicker.SelectedItem>
Esta é a classe de validação:
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;
}
}
}
Pergunta: Quando a propriedade é alterada, o método Validate () é chamado, o que está correto.
Mas chamar esse método logo no inícioquando o MyControl é criado? Eu preciso provarimediato após inicializar se houver um valor nulo no controle (e exibir um erro de validação)