windows phone 8.1 中的主题独立应用栏

Theme independent app bar in windows phone 8.1

我正在 windows phone 8.1 应用中添加应用栏。我在我的应用栏按钮中将请求的主题设置为深色。但是当我改变我的启动主题时,它的颜色也会改变。我尝试将图像作为应用栏按钮图标,但它仍然依赖于主题,因为我的图像是白色的,但当主题设置为浅色时它显示为黑色。

 <Page.BottomAppBar>
    <CommandBar Background="#FFF3A716">
        <AppBarButton Label="Home" RequestedTheme="Dark" Click="AppBarButton_Click">
            <AppBarButton.Icon>
                <BitmapIcon HorizontalAlignment="Center" VerticalAlignment="Center"   UriSource="/Assets/Images/home-icon.png">

                </BitmapIcon>
            </AppBarButton.Icon>
        </AppBarButton>
        <AppBarButton Label="Tips" RequestedTheme="Dark">
            <AppBarButton.Icon>
                <BitmapIcon HorizontalAlignment="Center" VerticalAlignment="Center"  UriSource="/Assets/Images/tips-icon.png">

                </BitmapIcon>
            </AppBarButton.Icon>
        </AppBarButton>
    </CommandBar>
</Page.BottomAppBar>

需要帮助吗?

使用 ThemeManager 库更改 black <--> white 主题,以及更改强调色。

ThemeManager.ToDarkTheme();

ThemeManager.SetAccentColor(new Color() { R = 214, G = 242, B = 185, A = 255 });

在 CommandBar 而不是按钮上设置按钮的主题颜色。

您无法在 Windows Phone 上单独设置应用栏中 AppBarButton 的颜色。它们的按钮将始终使用 CommandBar 本身的前景色和背景色。

<CommandBar RequestedTheme="Dark">

还要确保您的按钮图片正确无误。它们将用作不透明蒙版,透明像素显示背景色,纯色像素显示前景色。相同的图像应该适用于任何主题,因为它们不使用位图中编码的颜色。请参阅 MSDN 上的 Details on sizing, padding, scaling, and transparency for Windows Phone Store apps in the Guidelines for app bars