J'ai un écran WPF qui affiche un certain nombre d'entrées TextBox. J'ai un style qui gère toute la validation:Validation WPF: propriétés de validation de style/gabarit
<Style x:Key="TextBoxStyle" BasedOn="{x:Null}" TargetType="{x:Type TextBox}">
<!-- etc etc -->
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<Border Grid.Column="0" BorderBrush="Red" BorderThickness="1">
<StackPanel>
<AdornedElementPlaceholder />
</StackPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}" />
</Trigger>
</Style.Triggers>
</Style>
La seule chose que je dois appliquer à la zone de texte est de dire la liaison qu'elle valide. Vu que j'ai un certain nombre de ces boîtes sur l'application, je préférerais ne pas répéter cette annonce pour l'ensemble de l'application.
<TextBox Text="{Binding TargetValue, ValidatesOnExceptions=true, ValidatesOnDataErrors=true, NotifyOnValidationError=true}" Style="{DynamicResource TextBoxStyle}" />
J'ai essayé d'ajouter la propriété Text.Binding.ValidatesOnDataErrors au style, ce qui ne fonctionne pas, ni sembler la bonne façon de le faire. Est-il possible de créer un style de liaison par défaut? Des suggestions appréciées!
Je ne pense pas que je vais aller à tous ces problèmes, mais il semble sain. Il n'y a pas de répétition et il n'y a pas de ridicule. :) – rrhartjr
En effet. Bien pour vous. =) – ASanch