Winrt xaml ListPickerLyout忽略Windows Phone 8.1中父页面的请求主题
我在WinRT Windows Phone 8.1应用程序中有一个Winrt xaml ListPickerLyout忽略Windows Phone 8.1中父页面的请求主题,winrt-xaml,windows-phone-8.1,Winrt Xaml,Windows Phone 8.1,我在WinRT Windows Phone 8.1应用程序中有一个页面。此页面已将RequestedTheme设置为ElementTheme.Light。系统主题(在系统设置中设置)设置为暗 当我打开一个列表PickerFlyOut(使用Button.Flyout)时,结果如下: 看起来,前景颜色会适当地变为黑色,但背景会保持黑色主题(非常深的灰色) 弹出按钮上没有背景属性,有没有办法强制它符合页面的请求主题?好问题 在应用程序资源中,您可以覆盖名为FlyoutBackgroundThemeB
页面
。此页面已将RequestedTheme
设置为ElementTheme.Light
。系统主题(在系统设置中设置)设置为暗
当我打开一个列表PickerFlyOut
(使用Button.Flyout)时,结果如下:
看起来,前景颜色会适当地变为黑色,但背景会保持黑色主题(非常深的灰色)
弹出按钮上没有背景属性,有没有办法强制它符合页面的请求主题?好问题
在应用程序资源中,您可以覆盖名为FlyoutBackgroundThemeBrush的资源,用于灯光主题
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<SolidColorBrush x:Key="FlyoutBackgroundThemeBrush" Color="Green" />
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
</Application.Resources>
这将使其成为绿色,用于概念验证。:) 问题在于,弹出按钮不使用页面的RequestedTheme,而是使用应用程序的RequestedTheme。
在这种情况下,解决方案是设置
Application.Current.RequestedTheme=ApplicationTheme.Light
,此外还要设置Page.RequestedTheme=ElementTheme.Light
,谢谢你的提示,尽管这并没有解决我的问题,这是由另一个问题引起的(如我的回答所述)。@JanKratochvil great catch!标记您的答案以帮助他人!:)@igrali是否有用于消息对话框的刷子?我在Message Dialog中面临同样的问题?通过将应用程序请求的主题设置为“轻”并不能解决此问题。您的问题和回答帮助了我。我正面临着一个类似的问题,我想你也许能帮上忙。你能看一下吗?