TextBlock La propriété Text ne peut pas être définie via un déclencheur de style si non vide - pourquoi?
Question
Le code XAML ci-dessous ne fonctionne pas (le texte ne change pas lors du survol de la souris):
<Window.Resources>
<Style TargetType="TextBlock">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Text" Value="hover"/>
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<TextBlock Text="original"/>
</Grid>
Mais si l'attribut Texte est manquant:
<Grid>
<TextBlock/>
</Grid>
Le texte change au passage de la souris. Tout le monde connaît la théorie derrière cela?
La solution
Il s'agit d'un problème de priorité DependencyProperty lorsque vous définissez la propriété comme suit:
<TextBlock Text="original"/>
qui a la priorité sur la valeur définie dans le déclencheur.
voir
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow