如何在使用ItemSource时更改wpf列表视图中的行颜色,并动态添加/删除列表视图c#

nc1teljy  于 2023-11-21  发布在  C#
关注(0)|答案(1)|浏览(185)

我有一个WPF应用程序,可以动态添加和删除以列表视图为内容的选项卡。我想根据行中某列的内容更改列表视图中某行的背景色。
我见过的所有解决方案都需要使用XAML中的样式,这与我目前的设置不兼容,因为列表视图完全是在运行时用C#创建的。
我尝试过创建样式并添加数据触发器和设置器,但似乎没有任何改变。还有多个列表视图应该有不同的样式,所以我不确定更改所有列表视图的默认样式是否合适。


的数据
列表视图的内容如下所示,WAR消息的背景应该是黄色的:


yptwkmov

yptwkmov1#

根据@lidqy的评论,解决方案是改变

logListView.Style = style;

字符串

logListView.ItemContainerStyle = style;


样式声明行也需要从

Style style = new Style(typeof(System.Windows.Controls.ListView));


Style style = new Style(typeof(System.Windows.Controls.ListViewItem));


因为ItemContainerStyle显然是应用于ListViewItem(而不是ListView)的样式。

相关问题