wpf里ListView怎么设置选中行的颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf里ListView怎么设置选中行的颜色相关的知识,希望对你有一定的参考价值。

我想让选中的那一行显示为蓝色,其他未选中的颜色不变,最好是在鼠标经过某一行时也能显示特定的颜色。wpf中ListView本来是自带这样的效果的,但是我想让显示效果扁平一些,所以想更改一下效果,找了好久都不太对,求大神指教,急

用触发器控制,代码如下~
<Style TargetType="x:Type ListBoxItem">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="x:Type ListBoxItem">
        <Border Background="TemplateBinding Background"
            BorderBrush="TemplateBinding BorderBrush"
            BorderThickness="TemplateBinding BorderThickness">
          <ContentPresenter />
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsMouseOver" Value="True"><!--鼠标悬停-->
            <Setter Property="Background" Value="#FFDCDCDC"/><!--value中写你要的颜色的值-->
          </Trigger>
          <Trigger Property="IsSelected" Value="true"><!--选中-->
            <Setter Property="Background" Value="#FF0078E6"/>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

参考技术A 用触发器控制,代码如下~
<Style
TargetType="x:Type
ListBoxItem">
<Setter
Property="Template">
<Setter.Value>
<ControlTemplate
TargetType="x:Type
ListBoxItem">
<Border
Background="TemplateBinding
Background"
BorderBrush="TemplateBinding
BorderBrush"
BorderThickness="TemplateBinding
BorderThickness">
<ContentPresenter
/>
</Border>
<ControlTemplate.Triggers>
<Trigger
Property="IsMouseOver"
Value="True"><!--鼠标悬停-->
<Setter
Property="Background"
Value="#FFDCDCDC"/><!--value中写你要的颜色的值-->
</Trigger>
<Trigger
Property="IsSelected"
Value="true"><!--选中-->
<Setter
Property="Background"
Value="#FF0078E6"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
参考技术B 用触发器控制,代码如下~
<Style TargetType="x:Type ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="x:Type ListBoxItem">
<Border Background="TemplateBinding Background"
BorderBrush="TemplateBinding BorderBrush"
BorderThickness="TemplateBinding BorderThickness">
<ContentPresenter />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True"><!--鼠标悬停-->
<Setter Property="Background" Value="#FFDCDCDC"/><!--value中写你要的颜色的值-->
</Trigger>
<Trigger Property="IsSelected" Value="true"><!--选中-->
<Setter Property="Background" Value="#FF0078E6"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

以上是关于wpf里ListView怎么设置选中行的颜色的主要内容,如果未能解决你的问题,请参考以下文章

C# WPF Listview 如何设置某一行的颜色

winform中修改ListView选中项颜色

wpf datagrid 样式怎么设置默认选中行的颜色

WPF程序里,有一个ListView,想要在其中拖动鼠标,生成一个矩形框,并选中矩形框中的item元素,该怎么做

c#里wpf下怎么设置dataGrid的奇数行和偶数行各为一种颜色?比如this.dataGrid.后面加啥属性进行设置?

WPF中怎么在后台代码里面选中ListView的Items?