WPF 改变根据某一列条件改变行样式

如图,实现当轴运动中的时候,字体加粗,并且前景色设置为红色;

参考:WPF RadGridView Style Selectors RowStyleSelector - Telerik UI for WPF

主要就三个步骤:

第一步,定义后台的StyleSelector继承类:

cs 复制代码
public class IsMovingStyle : StyleSelector
{
    public override Style SelectStyle(object item, DependencyObject container)
    {
        if (item is AxisStatusProxy axis)
        {
            if (axis.IsMoving)
            {
                return MovingStyle;
            }
            else
            {
                return MotionlessStyle;
            }
        }
        return null;
    }
    public Style MovingStyle { get; set; }
    public Style MotionlessStyle { get; set; }
}

第二步,xaml中设计后台定义的样式:

XML 复制代码
<telerik:RadDocumentPane.Resources>
    <local:IsMovingStyle x:Key="MovingStyle">
        <local:IsMovingStyle.MovingStyle>
            <Style BasedOn="{StaticResource GridViewRowStyle}" TargetType="telerik:GridViewRow">
                <Setter Property="Foreground" Value="DarkRed" />
                <Setter Property="FontWeight" Value="Bold" />
                <Setter Property="FontSize" Value="22" />
            </Style>
        </local:IsMovingStyle.MovingStyle>
        <local:IsMovingStyle.MotionlessStyle>
            <Style BasedOn="{StaticResource GridViewRowStyle}" TargetType="telerik:GridViewRow" />
        </local:IsMovingStyle.MotionlessStyle>
    </local:IsMovingStyle>
</telerik:RadDocumentPane.Resources>

注意:要添加BasedOn="{StaticResource GridViewRowStyle}"

第三步,控件中引用:

XML 复制代码
	<telerik:RadGridView AlternateRowStyleSelector="{StaticResource StadiumCapacityStyle}" />
相关推荐
SamChan909 小时前
PDF翻译时页眉页脚总在捣乱?跨页重复文本块的检测与过滤实测
人工智能·python·ai·pdf·wpf
samble7 天前
从零搭建灌装监控系统(四):深色主题与样式系统,ResourceDictionary 统一管理
c#·wpf·mvvm·样式·工业控制
_Jonas7 天前
.net framework开发环境正式环境配置文件的切换
.net·wpf
dalong109 天前
WPF:Modbus 状态监控
wpf·modbus
He BianGu10 天前
【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明
opencv·c#·wpf·halcon·机器视觉·visionmaster
fogota13 天前
Emoji与Segoe MDL2 Assets的比较
c#·wpf
fogota14 天前
C# WPF 按钮加载字体图标 / 动物头像
c#·.net·wpf
fogota14 天前
C# WPF 按钮加载系统图标 / 动物头像
c#·.net·wpf
军训猫猫头14 天前
C# 封装 MySQL 自动写入与查询工具类(基于 MySqlConnector)
mysql·c#·.net·wpf
gis开发之家15 天前
Spring Boot 4 定时任务与异步线程池:从 @Scheduled 到高并发任务编排(生产级实战)
java·spring boot·后端·wpf·spring boot4