WPF更改combobox的背景颜色

在我的WPF应用程序中,我只想更改combobox的背景颜色。 我不是指下拉,我想要的只是选择背景设置的任何项目。 就像设置按钮的背景一样 – 当控件显示在屏幕上时,它应该具有LightYellow背景。 而已。 我在网上搜索了很多,但到处都可以找到下拉背景颜色的解决方案。 我尝试将SolidColorBrush和Style.Triggers应用于Combobox的TextBlock,但没有成功。 通过添加SolidColorBrush线,我得到了我的下拉背景设置,但这不是我想要的。 我的代码是:

              

任何人都可以帮我设置他正在寻找的所需组件的背景。

谢谢

试试这个

   //Put this resourse n Window.Resources or UserControl.Resources                              

以下是您可以更改的完整样式: http : //msdn.microsoft.com/en-us/library/ms752094%28v=VS.85%29.aspx

虽然我喜欢接受的答案,但我遇到的问题是文本框演示者完全被遗漏,因此您可以选择并设计风格,但它们永远不会呈现给最终用户。 我认为实现显示数据的combobox最简单的方法然后在选择时显示它将是这样的:

       Item1 Item2    

需要完成演示的关键部分是初始显示的模板’ToggleButton.Template’。 我选择忽略制作更多画笔和指向更多模板的链接,只需将其全部内联,以便其他人可以根据需要使用它。 我也选择了我认为很容易识别的颜色,只是跳转到参考它应该如下所示:

ComboBoxPicture

如果您在查看xaml时在Document Outline窗口中使用VS 2012或VS 2013,请获取combobox的控件模板。 找到样式x:Key="ComboBoxReadonlyToggleButton"并在Themes:ButtonChrome上更新RenderMouseOver = "False"RenderPressed="False" ,并注释掉影响IsEnabled的触发器。

当我不点击它时,我的组合框点击它时我的Combobox

下面是我在盒子上编辑的那个,用来说明我的意思。

  

试试这个

      Item1 Item2  

只需将以下内容添加到您的ComboBox样式:)

 BasedOn="{StaticResource {x:Type ComboBox}}" 

例:

  

相信我,这可能是最短的方式…我不明白为什么我们必须完全重新定义ComboBox模板。