-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