我在WinRT Windows Phone 8.1应用程序中有一个Page
。此页面的RequestedTheme
设置为ElementTheme.Light
。系统主题(在系统设置中设置)设置为黑暗。
当我打开ListPickerFlyout
(使用Button.Flyout)时,结果如下:
看起来,前景色适当地变为黑色,但背景保持黑暗主题(非常深灰色)。
弹出窗口中没有背景属性,是否有办法强制它符合Page的RequestedTheme?
答案 0 :(得分:6)
很棒的问题!
在应用程序资源中,您可以覆盖名为FlyoutBackgroundThemeBrush for Light主题的资源。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<SolidColorBrush x:Key="FlyoutBackgroundThemeBrush" Color="Green" />
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>
这将使其成为概念验证的绿色。 :)
答案 1 :(得分:5)
问题在于弹出窗口不会使用Page的RequestedTheme,而是App的RequestedTheme。
在这种情况下,除了设置Application.Current.RequestedTheme = ApplicationTheme.Light
之外,解决方案是设置Page.RequestedTheme = ElementTheme.Light
。