c# - 更改 ListView 中选定行的颜色

标签 c# wpf xaml

我想在 XAML 中更改 ListView 行的颜色,当我:

  1. 将光标置于其上
  2. 选择行

我尝试了在论坛和其他网站上找到的许多不同的解决方案,但我从未找到真正改变任何颜色的解决方案。当我选择一个项目时,我只是让它更改文本颜色,但这不是我想要的。 也许有人可以帮助我,这是我的 XAML ListView :

<ListView ItemsSource="{Binding Files}" x:Name="listBox2" Margin="269,32,10.286,0" Height="119" VerticalAlignment="Top" Drop="DropEvent" AllowDrop="True">
   <ListView.View>
      <GridView>
         <GridViewColumn 
            DisplayMemberBinding="{Binding Path}"
            Width ="1000"/>
         </GridView>
      </ListView.View>
   </ListView>
</ListView>

最佳答案

您可以定义一个ItemContainerStyle:

<ListView ItemsSource="{Binding Files}" x:Name="listBox2">
    <ListView.View>
        <GridView>
            <GridViewColumn DisplayMemberBinding="{Binding}" Width="1000"/>
        </GridView>
    </ListView.View>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Background" Value="Green" />
                </Trigger>
                <Trigger Property="IsSelected" Value="True">
                    <Setter Property="Background" Value="Red" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </ListView.ItemContainerStyle>
</ListView>

关于c# - 更改 ListView 中选定行的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47043842/

相关文章:

c# - && 和 || 是否有 "and assignment operator"速记?

c# - 覆盖 RichEditBox 上的键盘快捷键?

c# - 无法将不可为 null 的对象作为接受 nullalble 的参数传递

c# - 时间显示在 SQL 的仅日期字段中

c# - WPF 如何使 Viewbox 了解 StackPanel 中的可用空间

c# - WPF WebBrowser 最近的页面

c# - ItemsPanel 模板无效

c# - 如何从Windows8中的图像文件创建可写位图图像

c# - XAML:访问用户控件内的控件

c# - 有使用 InternalsVisibleToAttribute 的简单方法吗?