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

问题描述 投票:0回答:1

我有一个 WPF 应用程序,可以动态添加和删除以列表视图为内容的选项卡。我想根据行中一列的内容更改列表视图中行的背景颜色。

我见过的所有解决方案都需要在 XAML 中使用样式,这与我当前的设置不兼容,因为列表视图完全是在运行时用 C# 创建的。

我尝试过创建样式并添加数据触发器和设置器,但它似乎没有改变任何东西。还有多个列表视图应该具有不同的样式,因此我不确定更改所有列表视图的默认样式是否合适。

enter image description here

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

enter image description here

c# wpf listview itemsource
1个回答
0
投票

根据@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)的样式。

© www.soinside.com 2019 - 2024. All rights reserved.