WPF ListView отключить выбор - PullRequest
108 голосов
/ 27 июня 2009

У меня есть простой WPF ListView и простой вопрос:

Можно ли отключить выделение, чтобы, когда пользователь щелкает строку, строка не выделялась?

ListView

Я бы хотел, чтобы строка 1 при нажатии выглядела так же, как строка 0.

Возможно, связано: можно ли стилизовать вид при наведении / выделении? Например. заменить синий вид градиента при наведении курсора (строка 3) на собственный сплошной цвет. Я нашел это и это , к сожалению, не помогает.

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

XAML для ListView:

<ListView Height="280" Name="listView">
    <ListView.Resources>
        <!-- attempt to override selection color -->
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightColorKey}"
                         Color="Green" />
    </ListView.Resources>
    <ListView.View>
        <GridView>
            <GridView.Columns>
                <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" />
                <!-- more columns -->
            </GridView.Columns>
        </GridView>
     </ListView.View>
</ListView>

Ответы [ 11 ]

0 голосов
/ 25 октября 2018

Код ниже отключает выбор строки ListViewItem, а также позволяет добавлять отступы, поля и т. Д.

<ListView.ItemContainerStyle>                                                                              
   <Style TargetType="ListViewItem">                                                                                      
       <Setter Property="Template">                                                                                            
         <Setter.Value>                                                                                             
           <ControlTemplate TargetType="{x:Type ListViewItem}">                                                                                                    
              <ListViewItem Padding="0" Margin="0">                                                                                                        
                  <ContentPresenter />
              </ListViewItem>
           </ControlTemplate>                                                          
         </Setter.Value>                                                                                       
         </Setter>
      </Style>                                                                      
  </ListView.ItemContainerStyle> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...