ListPickerFlyout ignores RequestedTheme of parent page in Windows Phone 8.1

windows-phone-8.1, winrt-xaml

Solution

Great question!

In the application resources, you can override a resource called FlyoutBackgroundThemeBrush for Light themes.

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.ThemeDictionaries>
            <ResourceDictionary x:Key="Light">
                <SolidColorBrush x:Key="FlyoutBackgroundThemeBrush" Color="Green" />
            </ResourceDictionary>
        </ResourceDictionary.ThemeDictionaries>
    </ResourceDictionary>
</Application.Resources>

This will make it green for proof of concept. :)

Problem

I have a `Page` in a WinRT Windows Phone 8.1 application. This Page has `RequestedTheme` set to `ElementTheme.Light`. The system theme (as set in system settings) is set to dark. When I open a `ListPickerFlyout` (using Button.Flyout), the result is the following: It seems, that the foreground color appropriately changes to black, but the background stays dark-themed (a very dark gray). There isn't a Background property on the flyout, is there a way to force it to comply with the Page's RequestedTheme?

Original source