TextBlock La proprietà Text non può essere impostata tramite il trigger di stile se non vuota - perché?

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

  •  03-07-2019
  •  | 
  •  

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?

È stato utile?

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

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top