设置背景颜色或WPF(4.0)ListBox – Windows 8
我试图将所选ListBoxItem的背景颜色设置为白色而不是系统颜色。 我已经阅读了我在SO上可以找到的内容,并且已经遵循或者相信已经遵循了那里的建议( 更改所选ListBox项目的背景颜色 , WPF如何在列表框失去焦点时更改列表框所选项目文本颜色 , 更改选中和不专心的列表框样式不会变灰 ,以及其他)。
所有似乎都通过为所选项目设置HighlightBrush和ControlBrush为Transparent来解决问题。 我有以下XAML并且它正确设置了字体颜色,但无论画笔设置如何,backgroound都是默认的透明蓝色。 我仍然是一个WPF菜鸟,所以我必须在这里错过一些简单的东西。
String 1 String 2 String 3 String 4
我会感谢任何朝着正确方向的推动。
编辑 :
在阅读了第一个对他们有用的答案后,稍微改了一下,我拿了我在Windows 8机器上开发的应用程序并在Windows 7 VM中执行它,它按预期工作。 有关需要改变什么以使其在Windows 8机器和Windows 7上运行的任何想法?
这些post在Windows-8上已经过时了。
在Windows-8中由于某种原因,微软不希望人们如此容易地编辑他们的默认Style
或者使用Brush
覆盖的东西。
ListBoxItem
默认来自VS的Style
用于选择触发器:
选择状态触发器不再应用刷子,我们可以轻松覆盖但是静态颜色。 因此,要修改它,您将需要派生模板并在那里修改触发器。 到White
这是VS2012 Windows-8为ListBoxItem
提供的完整样式
如果您将这些触发器修改为:
你应该排好你的问题。
将以下触发器添加到我的Item DataTemplate,适用于Windows 10:
所以你只是想让所选项目的背景变白?
您的代码减去ControlBrushKey设置对我有用: