You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF:如何在DataTrigger中设置红色文本删除线

实现红色文本删除线的DataTrigger设置

在WPF中,默认的Strikethrough文本装饰为黑色,要实现红色删除线,需显式定义带颜色的TextDecorationCollection,而非直接使用内置的Strikethrough值。以下是修改后的完整代码:

<!-- 在资源中定义可复用的红色删除线样式 -->
<Window.Resources>
    <TextDecorationCollection x:Key="RedStrikethrough">
        <TextDecoration Location="Strikethrough">
            <TextDecoration.Pen>
                <Pen Brush="Red" Thickness="1"/>
            </TextDecoration.Pen>
        </TextDecoration>
    </TextDecorationCollection>
</Window.Resources>

<!-- 你的TextBlock控件 -->
<TextBlock Name="Number" Grid.Column="0" Text="{Binding Number}"/>
<TextBlock Name="Name" Grid.Column="1" Text="{Binding Name}"/>
<TextBlock Name="Price" Grid.Column="0" Text="{Binding Price}"/>
<TextBlock Name="Stock" Grid.Column="1" Text="{Binding Stock}"/>

<!-- 默认黑色删除线的DataTrigger -->
<DataTrigger Binding="{Binding IsStrikethroughBlack}" Value="True">
    <Setter TargetName="Number" Property="TextBlock.TextDecorations" Value="Strikethrough"/>
    <Setter TargetName="Name" Property="TextBlock.TextDecorations" Value="Strikethrough"/>
    <Setter TargetName="Price" Property="TextBlock.TextDecorations" Value="Strikethrough"/>
    <Setter TargetName="Stock" Property="TextBlock.TextDecorations" Value="Strikethrough"/>    
</DataTrigger>

<!-- 红色删除线的DataTrigger -->
<DataTrigger Binding="{Binding IsStrikethroughRed}" Value="True">
    <Setter TargetName="Number" Property="TextBlock.TextDecorations" Value="{StaticResource RedStrikethrough}"/>
    <Setter TargetName="Name" Property="TextBlock.TextDecorations" Value="{StaticResource RedStrikethrough}"/>
    <Setter TargetName="Price" Property="TextBlock.TextDecorations" Value="{StaticResource RedStrikethrough}"/>
    <Setter TargetName="Stock" Property="TextBlock.TextDecorations" Value="{StaticResource RedStrikethrough}"/>    
</DataTrigger>

关键说明:

  • 红色删除线通过TextDecoration对象自定义,设置Pen.Brush为Red,还可调整Pen.Thickness修改删除线粗细。
  • 资源定义的方式能让红色删除线在多处复用,避免重复代码。
  • 黑色删除线直接使用内置Strikethrough值即可,无需额外定义。

内容的提问来源于stack exchange,提问作者Tinsley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 12:52:20