简短版本:我想在 DependencyObject 中添加下划线的任何内容,例如,在这种情况下,我可以设置字体大小和颜色,但不能将其设置为带下划线:
<StackPanel TextElement.FontWeight="Bold" TextElement.Foreground="Red" Inline.TextDecorations="Underline">
<TextBlock Text="This ">
</TextBlock>
<TextBlock><Run Text="is "></Run><Run Text="a test"></Run></TextBlock>
</StackPanel>
那么如何在一个位置指定我希望所有文本都加下划线呢?
长版:我正在创建一个像 ContentPresenter 一样工作的超链接控件。使用我的超链接控件的程序员可以将内容放入控件中并指定一个 DataTemplate 来呈现其内容。在 MouseOver 我想要一个触发器来将字体设置为红色并在文本下划线。我可以很容易地将颜色更改为红色,但下划线被证明是一个问题。
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Inline.TextDecorations" Value="Underline"></Setter>
<Setter Property="TextElement.Foreground" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type local:ContentHyperlink}}, Path=ActiveColor}"></Setter>
</Trigger>