我新的WPF,我有以下的列表視圖XAML代碼:如何動態地更改WPF listview行背景顏色?
<ListView x:Name="listView1" ItemsSource="{Binding Processes1}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Height="470" Margin="10,95,150,6" Width="565" SelectionChanged="NetscalerCfgView_listView1_SelectionChanged">
<ListView.View>
<GridView>
<GridViewColumn Header="Line" DisplayMemberBinding="{Binding srcCfgLineNum}"/>
<GridViewColumn Header="Source Config" DisplayMemberBinding="{Binding srcConfigText}"/>
</GridView>
</ListView.View>
</ListView>
我有類SrcListViewInfo我在列表視圖正在顯示:
public class SrcListViewInfo
{
public int srcCfgLineNum { get; set; }
public string srcConfigText { get; set; }
}
我在窗戶宣佈它加載事件是這樣的:
public ObservableCollection<SrcListViewInfo> processes1 = null;
processes1 = new ObservableCollection<SrcListViewInfo>();
我想動態地在不同的情況下在不同的情況下在不同的函數中動態地着色行背景,例如:
case DiffResultSpanStatus.DeleteSource:
for (i = 0; i < drs.Length; i++)
{
SrcListViewInfo newInfo = new SrcListViewInfo();
newInfo.BackgroundColor = new SolidColorBrush(Colors.Red);
// newInfo.BackgroundColor = Brushes.Red;
newInfo.srcCfgLineNum = cnt;
newInfo.srcConfigText = ((TextLine)source.GetByIndex(drs.SourceIndex + i)).Line;
// newInfo.BackgroundColor = Brushes.Red; << want to set the color like this.
我已經嘗試過可靠的刷子,但它似乎沒有正常工作。
謝謝。我認爲第二個是更好的方法。你能告訴我什麼是相應的代碼? – PKB85
在這裏我使用了MVVM方法(谷歌它)。但是,您可以簡單地設置ItemsSource並查看結果。我添加了一個非常簡單的例子。 – Ron
它工作正常,但靜態。我只想爲特定條件(在單獨的函數下)設置顏色,而不是默認設置。 – PKB85