【发布时间】:2009-04-16 01:26:04
【问题描述】:
在 WPF 表单中,我有以下 TextBlock。当我将鼠标移到它上面时,我希望看到 TextBlock 的文本带有下划线。我怎样才能做到这一点?我尝试过使用 TextBlock.Triggers,但它不起作用。
谢谢!
【问题讨论】:
在 WPF 表单中,我有以下 TextBlock。当我将鼠标移到它上面时,我希望看到 TextBlock 的文本带有下划线。我怎样才能做到这一点?我尝试过使用 TextBlock.Triggers,但它不起作用。
谢谢!
【问题讨论】:
使用样式:
<TextBlock Text="Hurrah">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="TextDecorations" Value="Underline" />
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
(为简洁起见,样式显示为内联;如果您打算重复使用,请提取到资源中。)
【讨论】:
<TextBlock><Run Style="...">H</Run>urrah</TextBlock> 并将样式应用于 Run 而不是 TextBlock(如图所示)。除了 Run 的 TargetType 之外,样式将是相同的;并且您肯定希望将其提取到资源中,因为内联编写它会淹没 XAML 的可读性!