[英]ListView WPF, different background color for different items in GridViewColumn
[英]Different color for different items in ListView
如何在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>
如何在沒有編輯Fruit類的情況下使用蘋果的所有行為紅色,橙黃色等?
在View.xaml資源中聲明以下Style,它將應用於每個ListView Item。 考慮到每個ListViewItem.DataContext都設置了Fruit
類型的對象,你可以在Name
屬性上設置DataTrigger:
<Style TargetType="ListViewItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Name}" Value="apple">
<Setter Property="Background" Value="Green" />
</DataTrigger>
<DataTrigger Binding="{Binding Name}" Value="orange">
<Setter Property="Background" Value="orange" />
</DataTrigger>
</Style.Triggers>
</Style>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.