WPF ListView в режиме GridView Выделение проблемы - PullRequest
4 голосов
/ 25 марта 2010

При повторном создании GridView (ListView с большим количеством столбцов) я столкнулся с проблемой, состоящей в том, что я не мог изменить цвет выделенной строки. Я искал в интернете и обнаружил, что добавление этого может помочь.

<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" 
                 Color="Transparent" />
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" 
                 Color="Transparent" />

Это решило проблему для некоторых людей, но это не помогло мне. Цвет выделения был по умолчанию в системе. Мне наконец-то удалось изменить цвет выбранной строки, но выделение все еще видно вокруг границы строки, плюс мне нужно избавиться от выделения в ColumnHeaders.

Вот код, где мой подход не работает:

<ListView >
 <ListView.Resources>
  <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" 
                   Color="Transparent" />
  <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" 
                   Color="Transparent" />
 </ListView.Resources>
 <ListView.View>
  <GridView>
   <GridViewColumn Header="a"/>
   <GridViewColumn Header="b"/>
  </GridView>
 </ListView.View>
 <ListViewItem>sth</ListViewItem>
 <ListViewItem>sthelse</ListViewItem>
</ListView>

1 Ответ

0 голосов
/ 30 марта 2010

если я правильно понимаю, вы хотите убрать выделение цветом. если вы хотите сделать это, это просто. Используйте этот стиль:

<Style x:Key="SimpleListViewItem" TargetType="ListViewItem">
        <Setter Property="FocusVisualStyle" Value="{x:Null}" />
</Style>

но для использования этого стиля вы должны использовать этот стиль для свойства ItemContainerStyle.

Я надеюсь, что это решение поможет вам.

привет Rev

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...