2010-12-06 39 views
0

Mon code est le suivant:par défaut de validation de modèle ne se tiré dans WPF

<TextBox > 
    <TextBox.Text> 
     <Binding Path="SaveAsText" ValidatesOnDataErrors="True" ValidatesOnExceptions="True" UpdateSourceTrigger="PropertyChanged"> 
      <Binding.ValidationRules> 
       <val:SaveTextValidator></val:SaveTextValidator> 
      </Binding.ValidationRules> 
     </Binding> 
    </TextBox.Text> 
    <TextBox.Style> 
     <Style TargetType="{x:Type TextBox}"> 
      <Style.Triggers> 
       <Trigger Property="Validation.HasError" Value="true"> 
        <Setter Property="ToolTip" 
    Value="{Binding RelativeSource={x:Static RelativeSource.Self}, 
        Path=(Validation.Errors), Converter={StaticResource errorConverter}}"/> 
       </Trigger> 
      </Style.Triggers> 
     </Style> 
    </TextBox.Style> 
</TextBox> 

Maintenant, quand une erreur de validation se produit, l'info-bulle est de s'affiche, mais le modèle de validation par défaut de faire un rouge frontière TextBox n'est pas tir !!
Où est-ce que je me trompe?

+0

votre Essayé TextBox et le Validation.ErrorTemplate est bien apparaître si autre chose doit être le problème –

+0

@Meleak - S'il est un autre problème, comment puis-je déboguer? Je veux dire que ToolTip est bien, mais pas par défaut. Aussi pas d'erreurs dans la fenêtre de sortie !! – GuruC

Répondre

0

Vous remplacez le style par défaut de la zone de texte (en disant en gros: ne faites rien sauf si je vous le dis).

J'imagine qu'il y a un déclencheur dans le style par défaut qui rend la bordure rouge. Appliquez-le vous-même ou basez votre style sur la valeur par défaut actuelle.

<Style BasedOn={x:Type TextBox} ...>