Почему ListBoxItem не выделяется при наведении курсора мыши? - PullRequest
0 голосов
/ 15 марта 2012

Я определил следующий ListBox и использую темы ShinyRed, найденные здесь . Тем не менее, я обнаружил, что цвет строки изменяется только при наведении курсора мыши, если навести курсор мыши на текст метки. Я бы хотел, чтобы строка меняла цвет, если я где-то в строке элемента списка. Как мне это исправить?

<ListBox Grid.Row="1" ItemsSource="{Binding Categories}" ScrollViewer.CanContentScroll="False">
  <ListBox.ItemTemplate>
    <DataTemplate>
      <Label Content={Binding DisplayName}"/>
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>

1 Ответ

1 голос
/ 15 марта 2012

Используйте ListBox.ItemContainerStyle, чтобы растянуть элементы.

<ListBox.ItemContainerStyle>
    <Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
    </Style>
</ListBox.ItemContainerStyle>

(Также, если он все еще реагирует только на текст, попробуйте установить Label.Background на Transparent, который проверяет нажатия. И если он все еще , не работает шаблон управления ListBoxItem этого Тема вроде как)

...