求教WPF中ListView如何改变选中条背景颜色?
感觉很简单的一个东西,结果搞了很久没没搞出来。我是想改变ListView选中行的背景颜色,默认是系统的那种深蓝色,很丑,和界面不搭调。(ListView.View为一GridView)
我尝试过的方法:
第一次尝试:
把MSDN上ListView的所有例子都看过了也没找到解决的方法。我是通过设置ListView的ListView.ItemContainerStyle属性,在Style.Triggers里用属性触发器,IsMouseOver的时,ListViewItem的背景颜色都可以改变,但是IsSelected时改变就不行,我确信IsSelected属性确实被触发了,因为前景色可以改变,我想知道难道背景色和前景色之间还有一层?查看MSDN上ListViewItem的控件模板,发现中间也只有一层透明背景的Border而已。又考虑难道是系统进一步处理,把背景变成默认色了?在没有选择时背景色都能反应出来,一选中就深蓝色了,MSDN上找不到答案。
第二次尝试:
在ListViewItem上放置一StackPanel,也是参考了例子,IsMouseOver的时候可以改变StackPanel的颜色,就是当IsFocued时改变就没反应,还是StackPanel原来的背景色。
请各位高手帮忙啊,所有能利用的资源我都利用了,MSDN,百度,CSDN都找得差不多了,没有好的解决办法。主要是为了方便显示数据才用的ListView,里面每隔几秒就刷数据,要不我也不用ListView+GridView的模式。
问题说完了,请大家提供点思路,分数可以追加。还有我想知道Select一行以后,系统都做了点啥事情,那深蓝的系统的默认颜色到底加在了哪个控件上面?