我在我想修改的UWP项目中有一个ComboBox
。我想更改包含ComboBoxItems
的StackPanel
(?)的背景颜色,但我还没有找到实现此目的的简单方法。如何更改组合框下拉菜单背景?
在这里,我想要改变浅灰色填充的颜色。
颜色围绕ComboBoxItems
应该匹配,而是它是代表了默认的灰色。
下面是一个示例,其中MSN Money的ComboBox
具有与ComboBoxItems
匹配的自定义填充颜色。这是我希望实现的。
我用的是“填充”,但它实际上是包含ComboBoxItems
元素的只是颜色。
据我所知,我必须修改Windows 10 SDK中提供的generics.xaml文件,但会修改我使用的所有ComboBox
es。我可以创建一个继承自ComboBox
的自定义控件,但是当我想要改变这种颜色时,这不需要我编写新的控件?必须有一个更简单的方法来改变这一点。
@Bart这是我在ComboBox中的Popup模板中找到的代码。我不确定在你的解释中“SystemControlBackgroundChromeMediumLowBrush”来自哪里。
<Popup x:Name="Popup">
<Border x:Name="PopupBorder"
Background="{ThemeResource ComboBoxDropDownBackground}"
BorderBrush="{ThemeResource ComboBoxDropDownBorderBrush}"
BorderThickness="{ThemeResource ComboBoxDropdownBorderThickness}"
第二个解决方案没有奏效,直到我意识到App.xaml有一行手动将RequestedTheme设置为Light,我立即将其删除。我试图创建一个模板,但是这对我的控件没有影响。 至于第一个XAML块,你从哪里复制的? – Mapplesoft
XAML的第一个块来自默认模板(链接在答案中)。要使用自己创建的模板,请阅读答案中的链接,因为它应该可以工作(使用键+ StaticResource或重新定义应用中所有控件的默认模板)。但我很高兴你至少能够以第二种方式工作。 – Bart