【发布时间】:2011-12-26 01:12:28
【问题描述】:
如何在 ListView 的每一行中自动定义不同的颜色?例如,如果我有这样的课程:
public partial class MainWindow : Window
{
private ObservableCollection<Fruit> _fruits = new ObservableCollection<Fruit>();
public ObservableCollection<Fruit> Fruits { get { return _fruits; } }
public MainWindow()
{
Fruits.Add(new Fruit { Name = "apple", Count = 3 });
Fruits.Add(new Fruit { Name = "orange", Count = 10 });
Fruits.Add(new Fruit { Name = "apple", Count = 3 });
Fruits.Add(new Fruit { Name = "banana", Count = 8 });
InitializeComponent();
}
}
public class Fruit
{
public string Name { get; set; }
public int Count { get; set; }
}
这是一个 XALM:
<Grid>
<ListView Name="listView1" ItemsSource="{Binding Fruits}">
<ListView.View>
<GridView>
<GridViewColumn Header="Fruit" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="Count" DisplayMemberBinding="{Binding Count}"/>
</GridView>
</ListView.View>
</ListView>
</Grid>
如何使所有带有苹果的行都变成红色,橙子变成黄色等。没有编辑水果类?
【问题讨论】:
-
您的问题能否更具体一些。实际上,WPF 中有两种类型的颜色突出显示。第一种类型允许您为每个项目使用不同的颜色。第二个允许您设置行的交错标记。所以我的问题是哪一个适合你?
标签: c# wpf xaml listview wpf-controls