Измените выбранный и несфокусированный стиль списка, чтобы не было выделено серым цветом
У меня действительно простой WPF ListBox с SelectionMode, установленным Multiple.
Когда ListBox теряет фокус, действительно сложно сказать, что было выбрано, потому что цвет выбора изменяется от синего до светло-серого цвета. Какой самый простой способ изменить это поведение, чтобы он оставался синим?
Я знаю, что это, вероятно, связано со стилем ListItem, но я не могу найти, где.
- Является ли атрибут CallerMemberName в 4.5 "способным подделаться"?
- Как сделать элементы WPF ListView повторяющимися по горизонтали, например, горизонтальной полосой прокрутки?
- Создание нового пользовательского интерфейса TaskFactory
- В .NET 4.0 привязка OneWayToSource
- Могут ли привязки создавать утечки памяти в WPF?
Приветствия.
Похожие: WPF ListView Неактивный цвет выделения
- DataContext UserControl
- Приложение WPF не закрывается при закрытии главного windows
- Редактирование одного клика в WPF DataGrid
- Как скрыть столбцы datagrid wpf в зависимости от свойства
- Как добавить поведение Blend в стильном сеттере
- Как связать WPF DataGrid с переменным числом столбцов?
- Связывающие элементыСвойства ComboBoxColumn в WPF DataGrid
- Откройте диалоговое окно файла и выберите файл с помощью элементов управления WPF и C #
Я сделал что-то подобное, используя следующее в объединенном ResourceDictionary, это может помочь вам:
Это не ответ на вопрос, но я нашел это, когда искал способ отключить выбор в моих списках. Используя слегка измененную форму техники Guy’s & bendewey выше, выясняется, что вы можете указать отсутствие выбора в своем списке без замены элемента управления элементами или что-то в этом роде. Вот код, который я использовал:
Я также нашел следующую страницу MSDN:
MSDN: члены SystemColors (System.Windows)
Спасибо за помощь, ребята.
Более полным решением было бы, чтобы новая кисть ссылалась на HighlightColor:
Это гарантирует, что он использует тот же цвет и соответствует системной теме (даже если системная тема изменяется во время выполнения, благодаря DynamicResource).
Кстати, кажется, что последние версии WPF больше не используют для этого «ControlBrush», но более подходящий «InactiveSelectionHighlightBrush».
Вероятно, вы можете решить свою проблему, переписав шаблон, но попробуйте это для простого патча.
У меня также есть эта проблема. Но я решил это, используя IsSynchronizedWithCurrentItem = “True”:
Когда выбранные элементы становятся серыми, это потому, что ваш элемент управления теряет свою логическую направленность. У нескольких элементов управления есть возможность иметь логический фокус в одно и то же время. Таким простым решением для этого может быть предоставление ListBox FocusScope через FocusManager.