J'essaie d'utiliser la validation dans WPF. J'ai créé un NotNullOrEmptyValidationRule comme indiqué ci-dessous:Utilisation de la validation dans WPF avec la propriété de dépendance et les déclencheurs de style
public class NotNullOrEmptyValidationRule : ValidationRule
{
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
if (String.IsNullOrEmpty(value as String))
return new ValidationResult(false, "Value cannot be null or empty");
return new ValidationResult(true, null);
}
}
Maintenant, je dois l'utiliser dans ma demande. Dans mon fichier App.xaml j'ai déclaré le style pour le TextBox. Voici la déclaration.
<Style x:Key="textBoxStyle" TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="Green"/>
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="Background" Value="Red"/>
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self},Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
</Style>
Maintenant, je veux l'utiliser sur mon TextBox donc je suis en utilisant le code suivant:
<TextBox Style="{StaticResource textBoxStyle}">
<TextBox.Text>
<Binding>
<Binding.ValidationRules>
<NotNullOrEmptyValidationRule />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
L'erreur vient du Tag NotNullOrEmptyValidationRule. Le vérificateur de syntaxe XAML n'est pas capable de résoudre le NotNullOrEmptyValidationRule. J'ai même essayé de mettre l'espace de noms, mais ça ne semble pas fonctionner.