C#学习教程:如何设置Datagrid首行颜色数据网格排序将最后添加到集合中的项目显示为第一行。我想为第一行着色(以突出显示添加到集合中的新项目)我已经看到了一些类似的问题,但没有一个与我正在寻找的真正相关。我正在尝试使用IValueConverter,但它似乎对我不起作用,因为我需要获取第一行的唯一标识符并更改所有其余行,以便将其归类为“第一行”。我的集合中项目的对象模型如下所示:publicclassMessages{publicstringDate{get;设置;}公共字符串发件人{get;设置;}公共字符串内容{get;set;}}*EDIT忘记添加转换器代码...当然这会将所有行着色为红色,因为我不知道如何在集合更改时影响其他行。classDateToColorConverter:IValueConverter{objectIValueConverter.Convert(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){if(Convert.ToDateTime(value)>=DateTime.Now.AddMinutes(-1)){返回"红色的”;}否则返回“黄色”;}objectIValueConverter.ConvertBack(objectvalue,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){thrownewNotImplementedException();可以将RelativeSource和Mode设置为PreviousData一起使用来识别dataGrid行是否为第一行。对于第一行,PreviousData将返回null。在ItemContainerStyle中的DataGridRow上应用DataTrigger:如果您的数据类使用某种Id字段,则为简单的解决方案。假设新添加的对象的ID为-1,或00000000-0000-0000-0000-000000000000(在成功保存时更新/设置)。在这种情况下,您可以使用一个简单的DataTrigger来更改这些项目的背景:向您的模型添加一个布尔值,它将指示添加的最后一个元素:publicclassMessages{publicstringDate{get;设置;}公共字符串发件人{get;设置;}公共字符串内容{get;设置;}公共字符串IsNew{get;设置;}}并根据该属性设置DataGridRow的样式:在上面的代码中,蓝色将是默认样式,红色是新行以上是C#学习教程:如何设置Datagrid中第一行的颜色All分享的内容,如果对大家有用,需要了解更多C#学习教程,希望大家多多关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
