我想單獨更改ListView行的背景顏色。我已經能夠這樣做了,但每行之間有兩個像素的白色。我想消除白色空間,以便當兩行具有相同的顏色時,它們之間沒有可見的分隔。如何設置整個ListView行顏色/消除ListView行之間的空間?
另外,當選擇或鼠標懸停一排,其背景顏色是隱藏的。我可以再次看到它嗎?
示例代碼(在我真正的代碼,我選擇通過數據綁定的顏色):
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListView>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<!--Doesn't help!-->
<Setter Property="Margin" Value="0 0 0 0"/>
<Setter Property="Padding" Value="0 0 0 0"/>
<Setter Property="Background" Value="Lime"/>
</Style>
</ListView.ItemContainerStyle>
<ListView.View>
<GridView>
<GridViewColumn Width="120" Header="Date" />
<GridViewColumn Width="120" Header="Day Of Week"
DisplayMemberBinding="{Binding DayOfWeek}" />
<GridViewColumn Width="120" Header="Year"
DisplayMemberBinding="{Binding Year}" />
</GridView>
</ListView.View>
<sys:DateTime>1/2/3</sys:DateTime>
<sys:DateTime>4/5/6</sys:DateTime>
<sys:DateTime>7/8/9</sys:DateTime>
<sys:DateTime>10/11/12</sys:DateTime>
</ListView>
</Grid>
</Window>
我試過你的代碼,它工作正常,行沒有空白。無論如何,您可以嘗試爲ListView.ItemContainerStyle設置負邊距。 你隱藏的背景是什麼?選中的行突出顯示,但取消選擇後,它將返回到之前的狀態。 – icebat
我的意思是當一個項目被突出顯示時,用戶看不到它是什麼顏色。只顯示選擇矩形或者將其與背景顏色混合會更好。 – Qwertie