Как мне оформить строки в GridView?

У меня есть проект WPF, где у меня есть GridView, вложенный в ListView, и я хочу изменить стиль для строк.

Я хочу изменить цвет, когда курсор находится над.

Как я могу это сделать?

Вот мой XAML

<ListView x:Name="list_User_Events" Background="{StaticResource BorderDarkGreen}" Foreground="White" BorderThickness="0" BorderBrush="{x:Null}" SelectionMode="Single">
<ListView.View>
    <GridView>
        <GridViewColumn Width="100" Header="Name" DisplayMemberBinding="{Binding Name}"></GridViewColumn>
        <GridViewColumn Width="50" Header="Interval" DisplayMemberBinding="{Binding Interval}"></GridViewColumn>
        <GridViewColumn Width="160" Header="Type" DisplayMemberBinding="{Binding EventType}"></GridViewColumn>
        <GridViewColumn Header="Command" DisplayMemberBinding="{Binding Command}"></GridViewColumn>
        <GridViewColumn Header="Action">
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <Button x:Name="btn_list_user_Event_Delete" Click="btn_list_user_Event_Delete_Click">Delete</Button>
                </DataTemplate>
            </GridViewColumn.CellTemplate>
        </GridViewColumn>
    </GridView>
</ListView.View>
</ListView>

1 ответ

Решение

Вам нужно будет установить ItemContainerStyle в ListView для стиля с TargetType из ListViewItem:

<ListView 
    x:Name="list_User_Events" 
    Background="{StaticResource BorderDarkGreen}" 
    Foreground="White" 
    BorderThickness="0" 
    BorderBrush="{x:Null}" 
    SelectionMode="Single"
    >
    <ListView.ItemContainerStyle>
        <Style TargetType="{x:Type ListViewItem}">
            <!-- Setters, Triggers, etc. -->
        </Style>
    </ListView.ItemContainerStyle>

    <ListView.View>
        <!-- etc. etc. snip snip -->
    </ListView.View>
</ListView>

Если вы хотите повторно использовать стиль для нескольких похожих списков, вы должны определить его в Window.Resources или UserControl.Resources с помощью x:Key атрибут и использовать его как статический ресурс:

<ListView
    ItemContainerStyle="{StaticResource ListViewGridViewItemStyle}"
Другие вопросы по тегам