假設我有以下列表視圖:的ListView更改背景
<ListView Name="list" />
和我的函數中下面的代碼:
list.Items.Add("red");
list.Items.Add("green");
如何更改的第一個項目的背景紅色和第二個綠色?
假設我有以下列表視圖:的ListView更改背景
<ListView Name="list" />
和我的函數中下面的代碼:
list.Items.Add("red");
list.Items.Add("green");
如何更改的第一個項目的背景紅色和第二個綠色?
您可以利用ItemContainerStyle
來定義項目的樣式。
在樣式中,您可以將Background
屬性綁定到作爲顏色表示的項目本身。
現在,隱式顏色轉換器將轉換爲適當的顏色並設置爲背景屬性。
例如
<ListView Name="list" >
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Background"
Value="{Binding}" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
結果
備用計算策略
這裏是你如何使用Triggers
設定值有條件
我用DataTrigger
看,如果該項目符合我的情況,然後我可以通過一個setter設置所需的顏色
<ListView Name="list">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Style.Triggers>
<DataTrigger Binding="{Binding}"
Value="red">
<Setter Property="Background"
Value="red" />
</DataTrigger>
<DataTrigger Binding="{Binding}"
Value="mygreen">
<Setter Property="Background"
Value="green" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
</ListView>
結果
在上面的例子中你可以看到,背景顏色僅適用於所需的項目,例如。 red & mygreen
謝謝,但這不完全是我正在尋找。例如,當我添加名爲mygreen的項目時,我無法更改背景。 – user3154369 2014-08-29 12:50:51
如何用「BackgroundColor」屬性創建「ColorViewModel」類? list.Items.Add(new ColorViewModel(「red」,Colors.Red));然後將listitems的「Background」屬性綁定到你的viewmodel的「BackgroundColor」? – SuperOli 2014-08-29 12:58:34