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’。 我选择忽略制作更多画笔和指向更多模板的链接,只需将其全部内联,以便其他人可以根据需要使用它。 我也选择了我认为很容易识别的颜色,只是跳转到参考它应该如下所示:
如果您在查看xaml时在Document Outline窗口中使用VS 2012或VS 2013,请获取combobox的控件模板。 找到样式x:Key="ComboBoxReadonlyToggleButton"
并在Themes:ButtonChrome上更新RenderMouseOver = "False"
和RenderPressed="False"
,并注释掉影响IsEnabled的触发器。
下面是我在盒子上编辑的那个,用来说明我的意思。
试试这个
Item1 Item2
只需将以下内容添加到您的ComboBox
样式:)
BasedOn="{StaticResource {x:Type ComboBox}}"
例:
相信我,这可能是最短的方式…我不明白为什么我们必须完全重新定义ComboBox
模板。