WPF ValidationRule Validiert, wann das Steuerelement geladen wird
Ich habe eine Kontrolle mit dieser Validierung
<MyPicker.SelectedItem>
<Binding Path="Person.Value" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True">
<Binding.ValidationRules>
<rules:MyValidationRule ValidationType="notnull"/>
</Binding.ValidationRules>
</Binding>
</MyPicker.SelectedItem>
Dies ist die Validierungsklasse:
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;
}
}
}
Frage: Wenn die Eigenschaft geändert wird, wird die Methode Validate () aufgerufen, die korrekt ist.
Aber um diese Methode ganz am Anfang aufzurufenwenn das MyControl erstellt wird? Ich muss @ beweissoforti Nach der Initialisierung, wenn das Steuerelement einen Nullwert enthält (und einen Validierungsfehler anzeigt)