TextBlock propriedade Text não pode ser definido por meio de estilo gatilho se não vazia - por quê?
Pergunta
O XAML a seguir não funciona (o texto não mudar quando passar o mouse sobre):
<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>
Mas, se o atributo de texto está faltando:
<Grid>
<TextBlock/>
</Grid>
O texto muda no mouse sobre. Qualquer um sabe a teoria por trás disso?
Solução
É uma questão DependencyProperty precedência, quando você realmente definir a propriedade como em:
<TextBlock Text="original"/>
que tem precedência sobre o valor definido no gatilho.
veja
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow