我有WPF中的ListBox控件,它由一些可觀察的類型集合:「總線」填充。WPF:從代碼隱藏更改列表框項目的Foreground屬性
公交是包含兩個屬性
- BusName類
- BusType
因此基於該bustype在這個項目應該有任何的兩種顏色
爲總線類型:
- 夢之 - 綠色
- 非夢之 - 藍
所有這一切都應該從WPF代碼發生後面。
沒有人有想法如何做到這一點.. [我不是在WPF專家..一個小細節會更有益。]
我有WPF中的ListBox控件,它由一些可觀察的類型集合:「總線」填充。WPF:從代碼隱藏更改列表框項目的Foreground屬性
公交是包含兩個屬性
因此基於該bustype在這個項目應該有任何的兩種顏色
爲總線類型:
所有這一切都應該從WPF代碼發生後面。
沒有人有想法如何做到這一點.. [我不是在WPF專家..一個小細節會更有益。]
您也可以通過代碼做同樣的背後..我們有以下方式實現這一目標。我希望這會幫助你..
DataTrigger datatrigger = new DataTrigger();
datatrigger.Binding = new Binding("BusTypeID");
datatrigger.Value = 1;
datatrigger.Setters.Add(new Setter(ListBoxItem.BackgroundProperty, Brushes.Green));
listbox.Triggers.Add(datatrigger);
DataTrigger datatrigger2 = new DataTrigger();
datatrigger2.Binding = new Binding("BusTypeID");
datatrigger2.Value = 2;
datatrigger2.Setters.Add(new Setter(ListBoxItem.BackgroundProperty, Brushes.Red));
listbox.Triggers.Add(datatrigger2);
組整數值,讓我說, 臥鋪= 1 非臥鋪= 2
只需將您的收藏添加屬性BusTypeID
<Style.Triggers> <DataTrigger Binding="{Binding BusTypeID}" Value="1"> <Setter Property="Background" Value="Green"/> </DataTrigger> <DataTrigger Binding="{Binding BusTypeID}" Value="2"> <Setter Property="Background" Value="Blue"/> </DataTrigger> </Style.Triggers> </Style >
請您告訴我如何使用代碼隱藏實現這一點。 –
爲什麼要在這個後面的代碼在XAML中使用觸發器非常容易實現 – Firoz