我该如何在WPF中为ListViewItems应用样式?

15

首先,我是WPF的新手。


我已经为我的项目准备好了这个样式:

    <Style x:Key="lvItemHover" TargetType="{x:Type ListViewItem}">
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="true">
                <Setter Property="Foreground" Value="Black" />
            </Trigger>
        </Style.Triggers>
    </Style>

如何将这个样式应用到我的 ListView 中的项目?

3个回答

32

试一试

     <ListView x:Name="listView">
        <ListView.ItemContainerStyle>
            <Style TargetType="{x:Type ListViewItem}">
               <Style.Triggers>
                  <Trigger Property="IsMouseOver" Value="true">
                     <Setter Property="Foreground" Value="Black" />
                  </Trigger>
               </Style.Triggers>
            </Style>
        </ListView.ItemContainerStyle>
        <ListViewItem>Item1</ListViewItem>
        <ListViewItem>Item2</ListViewItem>
        <ListViewItem>Item3</ListViewItem>
    </ListView>

6

您有多种选择

  • 从样式中删除x:Key="lvItemHover",它将应用于所有ListViewItems

  • 像这样将样式应用于每个ListViewItem

    <ListViewItem Style="{StaticResource lvItemHover}">项目1</ListViewItem>

  • 将您的样式放在ListView.ItemContainerStyle中,就像上面的帖子中所述


6
这是从静态资源定义ListViewItem样式的最简单方法:
```

这是从静态资源定义ListViewItem样式的最简单方法:

```

    <ListView x:Name="listView" ItemContainerStyle="{StaticResource lvItemHover}">
    </ListView>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接