Цветовая схема фона выбранного элемента в списке?

#wpf #wpf-controls

#wpf #wpf-элементы управления

Вопрос:

Когда мы выбираем элемент ListBox, мы получаем голубоватый цвет фона, верно? Как я могу получить доступ к этому стилю и применить его к другому элементу управления? т. е. как я могу использовать цвет фона выбранного элемента в качестве стиля в другом месте? Спасибо!

Ответ №1:

Элемент ListBoxItem использует цвета из класса SystemColors, которые извлекаются из Windows. В частности, этот триггер изменяет фон:

 <Trigger Property="IsSelected"
 Value="true">
<Setter TargetName="Bd"
    Property="Background"
    Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
<Setter Property="Foreground"
    Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
</Trigger>
  

Таким образом, вы можете либо использовать ее, как указано выше (т. Е. Background=»{DynamicResource {x:Статические системные цвета.HighlightBrushKey}}», или вы могли бы получить доступ к цветам напрямую (т. е. «{x: статические системные цвета.HighlightBrush}»).

То же самое относится и к code-behind.

Ответ №2:

Я не думаю, что это прямое свойство, поэтому я полагаю, что вам нужно будет изменить весь шаблон.

Если вы говорите по-французски, посмотрите на эту ссылку. Я полагаю, что в нем содержится все, что вам нужно знать :

http://www.developpez.net/forums/d899479/dotnet/developpement-windows/windows-presentation-foundation/wpf-listviewitem-definition-style/