2009-04-17 10 views
1

Existe-t-il un moyen d'appliquer un style uniquement à certaines infobulles? J'essaye de spécifier le modèle d'info-bulle juste pour les info-bulles montrant les erreurs de validation. Supposons que j'ai un style de infobulle, dire errorTTStyle, et certains modèles de validation:Styling ToolTipService.Tooltip

<Style TargetType="{x:Type TextBox}"> 
<Style.Triggers> 
    <Trigger Property="Validation.HasError" Value="true"> 
    <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors).CurrentItem.ErrorContent}" /> 
    </Trigger> 
</Style.Triggers> 
</Style> 

Comment forcer WPF à utiliser errorTTStyle juste pour cette situation (je sais que je peux changer tootlip le style globaly, mais ce n'est pas ce que je veux)?

Répondre

1

Vous pouvez ajouter le style pour l'info-bulle dans les ressources du style Textbox et il ne serait utilisé que par le style parent, basez également ce style dans le errorTTStyle si vous voulez utiliser un style externe:

<Style TargetType="{x:Type TextBox}"> 

    <Style.Resources> 
     <Style TargetType="{x:Type ToolTip}" BasedOn="{StaticResource errorTTStyle}" /> 
    </Style.Resources>  

<Style.Triggers> 
    <Trigger Property="Validation.HasError" Value="true"> 
     <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors).CurrentItem.ErrorContent}" /> 
    </Trigger> 
    </Style.Triggers> 
</Style> 
Questions connexes