日期:2014-05-18  浏览次数:21744 次

WPF中listview被选中行的背景色改变
我的代码如下:

<ListView Height="525" Name="listview" Width="1180">
<ListView.View>
<GridView>
<GridViewColumn Header="AA" DisplayMemberBinding="{Binding Path=aa}"></GridViewColumn>
<GridViewColumn Header="BB" DisplayMemberBinding="{Binding Path=bb}"></GridViewColumn>
<GridViewColumn Header="CC" DisplayMemberBinding="{Binding Path=cc}"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>

App.xaml的Resources代码如下
<Application.Resources>
  <Style TargetType="{x:Type ListViewItem}">
  <Style.Triggers>
  <Trigger Property="IsSelected" Value="True">
  <Setter Property="Background" Value="Blue"/>
  <Setter Property="Foreground" Value="White"/>
  </Trigger>
  </Style.Triggers>
  </Style>
</Application.Resources>

当listview的某行被选中时(没有失去焦点时),字体为白色,背景色为蓝色;但当失去焦点后,颜色就变浅了。

我希望失去焦点后,被选中行的还是字体为白色,背景色为蓝色,所以用了触发器。

但现在发现行被选中后,焦点失去时
<Setter Property="Foreground" Value="White"/>这个效果字体颜色确为白色
但<Setter Property="Background" Value="Blue"/>这个没改变背景颜色。

请问是什么回事呢了???麻烦大家帮帮忙。


另外还有个关于listview行获得焦点的问题,麻烦大家也帮忙看看,谢谢了,地址如下:
http://topic.csdn.net/u/20111122/16/062b3e52-92c6-4926-8c91-a70b8e419643.html?30280

------解决方案--------------------
现在发现我的代码在Win7上运行可以修改到被选中行的字体、背景颜色


但在XP上却只有字体颜色改变,背景色却改变不了,请问是怎么回事啊???