5

下面的 XAML 不起作用(鼠标悬停时文本不会更改):

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

但是,如果缺少 Text 属性:

 <Grid>
    <TextBlock/>
</Grid>

鼠标悬停时文本会发生变化。有人知道这背后的理论吗?

4

1 回答 1

6

这是一个 DependencyProperty 优先级问题,当您实际设置属性时:

<TextBlock Text="original"/>

优先于触发器中设置的值。

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

于 2009-05-01T19:30:29.033 回答