WPF ListView Inactive Selection Color и цвет шрифта элемента - PullRequest
3 голосов
/ 27 апреля 2009

Я могу установить неактивный цвет выбора ListView

Я использовал решение, описанное в следующем вопросе

WPF ListView Неактивный цвет выделения

Мне нужно изменить цвет шрифта выбранного неактивного элемента, есть ли простой способ сделать это?

Спасибо

Ответы [ 2 ]

6 голосов
/ 27 апреля 2009

К сожалению, вы не можете использовать SystemColors.ControlTextBrushKey, потому что он применяется, когда элемент не выбран, или когда он выбран, но не активен (ваш вопрос звучит так, как будто вас интересует только последнее). Тем не менее, вы можете сделать это:

<ListBox ...>
    <ListBox.Resources>
        <!-- this customizes the background color when the item is selected but inactive -->
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}">Red</SolidColorBrush>
    </ListBox.Resources>
    <ListBox.ItemContainerStyle>
        <Style>
            <Style.Triggers>
                            <!-- this customizes the foreground color when the item is selected but inactive -->
                <Trigger Property="Selector.IsSelected" Value="True">
                    <Setter Property="TextElement.Foreground" Value="Blue"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </ListBox.ItemContainerStyle>
</ListBox>
3 голосов
/ 02 октября 2014

Для меня это сработало - и в активном, и в неактивном ListBox цвет переднего плана и фона для выбранных элементов одинаков.

<ListBox.ItemContainerStyle>
  <Style TargetType="{x:Type ListBoxItem}">
    <Style.Resources>
      <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="DodgerBlue"/>
      <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="White"/>
      <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="DodgerBlue"/>
      <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" Color="White"/>
    </Style.Resources>        
  </Style>
</ListBox.ItemContainerStyle>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...