У меня проблема с настройкой HighlightBrushKey
для SelectedItem
для Listbox
в WPF. Мое намерение состояло в том, чтобы установить цвет элемента в зависимости от заданного логического значения, лежащего в коде.
Я пробовал следующие шаги:
Внедрение преобразователя, проверка логического значения и возврат правильного цвета.
Пример:
<лента:RibbonWindow.Resources>
<Стиль x:Key="listBoxStyle" TargetType="{x:Type ListBoxItem}">
<Стиль.Ресурсы>
Стиль.Ресурсы>
Стиль>
Проблема здесь заключалась в том, что метод Convert вызывался только один раз, а мне нужно, чтобы Converter вызывался каждый раз, когда я выбираю элемент и проверяю логическое значение. Как триггер, но с "HighlightBrushKey
".
Преобразователь:
общедоступный объект Convert(значение объекта, Type targetType,
параметр объекта, культура CultureInfo)
{
если (текущее поле == ноль)
вернуть Кисти.Желтый;
если (currentField.Save)
вернуть Brushes.LightGreen;
еще
вернуть Кисти.Желтый;
}
Следующей моей идеей было установить «HighlightBrushKey
» на «Transparent
» и изменить item.Background
вручную в коде. Проблема заключалась в том, что мои элементы стали белыми, а цвет фона не был виден
Пример:
Заранее спасибо! :)