设置背景颜色或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设置对我有用: