我在我想修改的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