У меня была аналогичная проблема, и выяснилось, что вся проблема такого характера может быть решена следующим образом:
, и таким образом вы сможете стилизовать свои текущие предыдущие элементы (все элементы переопределены текущими и следующими элементами) и ваши следующие элементы.
пример:
/* all items (will be styled as previous) */
li {
color: blue;
}
/* the item i want to distinguish */
li.milk {
color: red;
}
/* next items */
li ~ li {
color: green;
}
<ul>
<li>Tea</li>
<li class="milk">Milk</li>
<li>Juice</li>
<li>others</li>
</ul>
Надеюсь, что это кому-то поможет.
Вы можете использовать многоцветную заливку любого примитива с помощью LinearGradiantBrush. Хитрость заключается в том, чтобы сделать ваши шаги двойными градиентными остановками. То есть 0 = синий, 0,75 = синий, 0,75 = красный, 1 = красный. Это даст вам жесткие цветовые переходы и не будет иметь никакого эффекта градиента.