В ListBox загонятеся отсортированный массив с числами по убыванию. Как можно можно выделить первые 3 элемента другим цветом. Например, на первом месте зеленый, второй желтый, третий красный
Тут я вижу 3 варианта решения:
ListBox
, ну или сделать для него расширения (что для меня одно и тоже).Я вам покажу пример с использованием AlternationCount
:
<ListBox AlternationCount="99999">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Background" Value="Gray"/>
<Style.Triggers>
<Trigger Property="ItemsControl.AlternationIndex" Value="0">
<Setter Property="Background" Value="Green"/>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="Yellow"/>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBoxItem/>
<ListBoxItem/>
<ListBoxItem/>
<ListBoxItem/>
<ListBoxItem/>
</ListBox>
Как видите тут нечего сложного нет:
AlternationCount
. Тут смотрите сами какое число должно быть. Указанное тут число по сути означает на сколько частей вы разделяете все элементы. К примеру у вас в ListBox
10 элементов, вы указываете 3, значит индекс у вас будет идти как 0-1-2-0-1-2-0-1-2-0
, то есть указанные вами цвета будут повторяться. Если вы укажете число больше, чем кол-во элементов в списке, то уже будет 0-1-2-3-4-5-6-7-8-9-10...
, то есть каждый элемент получит свой индекс, по которому вы сможете задать нужный вам вид.<Trigger Property="ItemsControl.AlternationIndex" Value="0">
- Вот тут я думаю все и так понятно. Мы первому элементу (0-й индекс) задаем цвет.Ну и итог всего этого (первые 3 с нужным цветом, а остальные серые):
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В своём приложении я использую Redis в качестве кэш-хранилища, куда в процессе работы заносятся разные данныеНекоторые хранятся там временно...
Выполняю одно из заданий курса по С#, которое звучит так:
Надо программно сделать аналог метода group by по нескольким полям на язык с #, но проблема в том, что эти поля заранее не определены, и в зависимости...