-1
我一直在试图验证码:如何更改ListViewItem的背景颜色?
<Style TargetType="ListViewItem">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<ContentPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Blue" />
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
不过,我发现,只有文字的颜色是变化的,但背景仍保持不变。我发现,当我切换到其他触发类型的时候我连简单的做到这些行为不会改变:
<Style TargetType="ListViewItem">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<ContentPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Background" Value="Red" />
</Style>
我想我的答案[这里](http://stackoverflow.com/questions/41317609/add-more-than-1-datagridcell-with-style-to-a-row-in-wpf- dgv-programatically/41318169#41318169)是你在找什么。 – CodingYoshi
@CodingYoshi谢谢你的回复。但是,我是wpf的新手,所以能否请您进一步向我解释一下? – ntvy95
我能够重现您的情况(背景不会在ListViewItem上发生变化),并快速浏览可视化树。 ListViewItem确实有一个红色的背景颜色,所以其他一些对象必须掩盖它。我相信这里的问题是覆盖默认样式,而不是完全重构它(在Template属性中),如下所示:' '干净地产生一个红色的背景。 – TiberiumFusion