#c# #wpf #visual-studio-2010
#c# #wpf #visual-studio-2010
Вопрос:
Я использую VS2010 — wpf — C#
У меня есть listview, который показывает цены ценных бумаг, и я хочу оформить строки listview тремя различными способами: зеленым, красным и оранжевым
Я не знаю, как написать код на C #, который повлиял бы на стили этих элементов listview во время выполнения при некоторых условиях, которые у меня есть???
Я не знаю, нуждается ли мой вопрос в дополнительных пояснениях, но если это так, пожалуйста, дайте мне знать
С наилучшими пожеланиями всем
Ответ №1:
Почему вы хотите сделать это во время выполнения, а не в XAML?
Я предполагаю, что красный / зеленый / оранжевый имеет какое-то значение. Настройте DataTrigger в ItemContainerStyle списка, который изменяет цвет на основе значения.
Вот пример использования свойства с именем Priority для элементов ListView
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Foreground" Value="Green" />
<Style.Triggers>
<DataTrigger Binding="{Binding Priority}" Value="2">
<Setter Property="Foreground" Value="Orange" />
</DataTrigger>
<DataTrigger Binding="{Binding Priority}" Value="3">
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
</ListView>
Комментарии:
1. @Moauayad Я не уверен, о чем вы спрашиваете, но поскольку вы приняли мой ответ, я предполагаю, что с вами все в порядке
2. Что, если я захочу изменить цвет или значение во время выполнения?
3. @SaudKhan Затем измените свойство bound… например, настройка
Priority=2
сделала бы его оранжевым, в то время какPriority=3
сделала бы его красным.