TextBlock La proprietà Text non può essere impostata tramite il trigger di stile se non vuota - perché?
Domanda
La XAML di seguito non funziona (il testo non cambia quando si passa il mouse):
<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>
Ma se manca l'attributo Text:
<Grid>
<TextBlock/>
</Grid>
Il testo cambia al passaggio del mouse. Qualcuno conosce la teoria dietro questo?
Soluzione
È un problema di precedenza DependencyProperty, quando si imposta effettivamente la proprietà come in:
<TextBlock Text="original"/>
che ha la precedenza sul valore impostato nel trigger.
vedere
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow