Windows Phone 8.1: 如何在 Button Flyout 中更改 ListPickerFlyout 的背景色和前景色

Windows Phone 8.1: How to change the background color and foreground color of ListPickerFlyout within a Button Flyout

我有一个 Windows Phone 8.1 应用程序。

我有一个带有 ListPickerFlyout 的按钮。

<Button x:Name="myButton"
        Foreground="Red" Background="Green">
    <Button.Flyout>
        <ListPickerFlyout x:Name="myListPicker">
        </ListPickerFlyout>
    </Button.Flyout>
</Button>

我需要更改 ListPickerFlyout 的背景和前景色。

如果有人能帮助我,我会很高兴。 提前致谢。

要更改背景,我从这个 Whosebug link

中得到了答案
<Application.Resources>
<ResourceDictionary>
    <ResourceDictionary.ThemeDictionaries>
        <ResourceDictionary x:Key="Light">
            <SolidColorBrush x:Key="FlyoutBackgroundThemeBrush" Color="Green" />
        </ResourceDictionary>
    </ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>

更改前景:

下面的例子是将前景设为红色。

<ListPickerFlyout ItemsSource="{Binding Items}"
                  SelectedValue="{Binding SelectedItem, Mode=TwoWay}">
                  <ListPickerFlyout.ItemTemplate>
                      <DataTemplate>
                          <TextBlock Foreground="Red"
                                     Text="{Binding name}" />
                      </DataTemplate>
                  </ListPickerFlyout.ItemTemplate>
</ListPickerFlyout>

如果您希望它适应带有白色和黑色前景的明暗主题,请使用像 AppBarToggleButtonCheckedBorderThemeBrush 这样的 ThemeBrush。