La propiedad TextBlock Text no se puede establecer a través del desencadenador de estilo si no está vacío, ¿por qué?

StackOverflow https://stackoverflow.com/questions/812822

  •  03-07-2019
  •  | 
  •  

Pregunta

El XAML a continuación no funciona (el texto no cambia cuando se desplaza):

<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>

Pero, si falta el atributo Texto:

 <Grid>
    <TextBlock/>
</Grid>

El texto cambia al pasar el mouse por encima. ¿Alguien sabe la teoría detrás de esto?

¿Fue útil?

Solución

Es un problema de prioridad de DependencyProperty, cuando realmente configura la propiedad como en:

<TextBlock Text="original"/>

que tiene prioridad sobre el valor establecido en el activador.

ver

http://msdn.microsoft.com/en-us/library /ms743230.aspx

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top