当前位置: 首页 > 编程语言 > C#

如何改变WPFDatagrid中的行样式?Share

时间:2023-04-10 22:17:21 C#

如何更改WPFDatagrid中行的样式?我是WPF的新手,需要帮助在运行时设置数据网格中的特定行或样式,具体取决于存储数据的某些值。我看到了这个线程,但无法从设计问题中存在的列中检索仅在运行时存在的行。任何例子都将很乐意接受。谢谢!编辑:我也找到了这篇文章,但我需要一个C#代码......如果你在运行时向网格添加列,我无法从你的问题中判断出来,但无论哪种方式,你都可以将CellStyle设置为添加到网格使用DataTriggers处理您的特定样式需求。例如,以下将使Name属性="BillyBob"的所有行变为红色:如果您想在运行时以编程方式添加列,并希望对它们应用某种样式,您仍然可以在设计时在xaml中定义它们这些风格。...然后当您添加列时,您可以将该样式应用于它们:col.CellStyle=(Style)dataGrid1.Resources("MyCellStyle");更新如果你有一个歌曲列表,并且你想更改名称以“a”开头的歌曲的每一行颜色,那么你可以使用IValueConverter。下面的转换器可以解决这个问题:}赶上{返回假;}}publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,CultureInfoculture){thrownewNotImplementedException();然后你可以像这样在你的xaml中使用转换器:注意我如何将“a”作为参数传递给转换器。您可以传入任何您想要的字母,以该字母开头的艺术家行的背景颜色将设置为红色。更新2如果您想将某种变量传递给转换器,您可以使用MultiBinding。转换器如下所示:publicclassArtistNameConverter:IMultiValueConverter{publicobjectConvert(object[]values,TypetargetType,objectparameter,System.Globalization.CultureInfoculture){try{returnvalues[0].ToString().StartsWith(values[1].ToString());}赶上{返回假;}}publicobject[]ConvertBack(objectvalue,Type[]targetTypes,objectparameter,System.Globalization.CultureInfoculture){thrownewNotImplementedException();}传入的第一个参数是艺术家姓名,第二个是字母。您可以像这样在您的网格中使用它:在这个例子中,第一个字母来自名为“FirstLetter”的控件的“Text”属性。您可以将绑定更改为任何您想要的。以上就是C#学习教程:如何改变WPFDatagrid中的行样式?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: