鼠标悬停上的WPF TextBlock样式下划线

时间:2012-11-07 18:22:04

标签: c# wpf styles

简单的问题。以下WPF C#代码可以减少一些重量吗?我的意思是,WTF,呃......我的意思是WPF,来吧。你有没有见过CSS?我只想用鼠标悬停就像链接一样强调文本。我真的要为此添加9行吗?

<TextBlock x:Name="Cassette_tblPrintLabel" Text="Print Label" Canvas.Left="154" Canvas.Top="215" Foreground="#FF3355FF" Cursor="Hand" MouseDown="Cassette_lblPrintLabel_MouseDown">
    <TextBlock.Style>
        <Style TargetType="TextBlock">
            <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="TextBlock.TextDecoration" Value="Underline" />
            </Trigger>
            </Style.Triggers>
        </Style>
    </TextBlock.Style>
</TextBlock>

提前致谢!

1 个答案:

答案 0 :(得分:14)

将样式添加为资源;那么至少你可以重复使用它。我认为这是你能做的最好的事情。

<Application.Resources>
    <Style TargetType="TextBlock" x:Key="HoverUnderlineStyle">
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="TextBlock.TextDecorations" Value="Underline" />
            </Trigger>
        </Style.Triggers>
    </Style>
</Application.Resources>

<TextBlock Style="{StaticResource HoverUnderlineStyle}" />