Цвет выделения WPF ListView / GridView

#wpf #listview #gridview

#wpf #listview #просмотр сетки

Вопрос:

XAML

     <ListView Name="Panel"
              Width="Auto"
              Margin="0,200,0,0"
              HorizontalAlignment="Stretch"
              VerticalAlignment="Stretch"
              Background="{x:Null}"
              BorderThickness="0"
              ItemsSource="{Binding Source={x:Static Communicator:Profile.AvailableFriends}}"
              MouseDoubleClick="Panel_MouseDoubleClick"
              ScrollViewer.HorizontalScrollBarVisibility="Disabled"
              SelectionMode="Single">
        <ListView.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel Orientation="Horizontal" />
            </ItemsPanelTemplate>
        </ListView.ItemsPanel>
        <ListView.View>
            <GridView ColumnHeaderContainerStyle="{StaticResource HiddenStyle}">
                <GridViewColumn Width="Auto">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Border Canvas.Left="55"
                                    Canvas.Top="30"
                                    Width="50"
                                    Height="50"
                                    Margin="0,5"
                                    BorderBrush="#FF3E5998"
                                    BorderThickness=".25"
                                    CornerRadius="9">
                                <Border.Effect>
                                    <DropShadowEffect BlurRadius="5"
                                                      Opacity=".5"
                                                      ShadowDepth="3" />
                                </Border.Effect>
                                <Border BorderBrush="{Binding Color}"
                                        BorderThickness="3"
                                        CornerRadius="7.5">
                                    <Border BorderBrush="#FF3B5998"
                                            BorderThickness=".25"
                                            CornerRadius="6.5">
                                        <Border.Background>
                                            <ImageBrush ImageSource="{Binding Picture}" />
                                        </Border.Background>
                                    </Border>
                                </Border>
                            </Border>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Width="Auto">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Label Content="{Binding Name}" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>
  

Как сделать :

1 — Измените цвет подсветки для элемента при наведении курсора мыши
2 — Измените цвет подсветки для выбранного элемента
3 — Измените цвет подсветки для элемента, выбранного с закрытым фокусом

Примечание :

Я много пытался изменить цвета, но GRIDVIEW всегда использует свои собственные: S

Ответ №1:

Вам необходимо изменить шаблон ListViewItem.