【问题标题】:TextBlock text underline with different color when mouse over鼠标悬停时,TextBlock 文本下划线颜色不同
【发布时间】:2018-05-30 01:19:56
【问题描述】:

当鼠标悬停在文本上时,我想用与字体颜色不同的颜色为 Textblock 文本着色。

除了创建自定义控件之外,如何做到这一点?

<TextBlock Text="5000.00" FontSize="20" >
            <!--<TextBlock.TextDecorations>
                <TextDecoration Location="Underline">
                    <TextDecoration.Pen>
                        <Pen Brush="Green"></Pen>
                    </TextDecoration.Pen>
                </TextDecoration>
            </TextBlock.TextDecorations>-->
       <TextBlock.Style>
            <Style TargetType="TextBlock">
                <Style.Triggers>
                    <Trigger Property ="IsMouseOver" Value="True">
                        <Setter Property= "Foreground" Value="Black"/>
                        <Setter Property="TextDecorations" Value="Underline" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </TextBlock.Style>
    </TextBlock>

【问题讨论】:

  • 你试过什么?如果你表明你已经做出了努力,那么有人会更有可能帮助你。您可以编辑问题以添加您尝试过的代码以及运行该代码时的结果,包括任何错误。
  • 更新了原始问题。谢谢。

标签: c# wpf textblock underline


【解决方案1】:
<TextBlock Text="5000.00" FontSize="20" >
    <TextBlock.Style>
        <Style TargetType="TextBlock">
            <Style.Triggers>
                <Trigger Property ="IsMouseOver" Value="True">
                    <Setter Property="TextDecorations">
                        <Setter.Value>
                            <TextDecorationCollection>
                                <TextDecoration Location="Underline">
                                    <TextDecoration.Pen>
                                        <Pen Brush="Red"/>
                                    </TextDecoration.Pen>
                                </TextDecoration>
                            </TextDecorationCollection>
                        </Setter.Value>
                    </Setter>
                </Trigger>
                <Trigger Property ="IsMouseOver" Value="False">
                    <Setter Property="TextDecorations">
                        <Setter.Value>
                            <TextDecorationCollection>
                                <TextDecoration Location="Underline">
                                    <TextDecoration.Pen>
                                        <Pen Brush="LimeGreen"/>
                                    </TextDecoration.Pen>
                                </TextDecoration>
                            </TextDecorationCollection>
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </TextBlock.Style>
</TextBlock>

【讨论】:

  • 谢谢。这行得通。我尝试时错过了“TextDecorationCollection”元素。
猜你喜欢
  • 1970-01-01
  • 2014-05-26
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-10
  • 2014-01-02
相关资源
最近更新 更多