更改CommandBar(AppBar)颜色

时间:2016-07-11 10:10:55

标签: c# xaml win-universal-app uwp uwp-xaml

我想更改CommandBar BackgroundForeground的背景颜色。但是,只需设置Background="whatever" Foreground="whatever"即可更改溢出部分。

我使用模板和样式等尝试了几个小时但我真的不知道我做了什么,所以它没用。我已经阅读了https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/styling-controlshttps://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/control-templates(以及其他诸如此网站上的众多问题),它们真的只是告诉您有改变风格这样的事情,它们会告诉您如何设置某种风格的元素。但他们没有告诉你哪些元素有哪些可用的变量...另外,当右键单击CommandBar - 编辑样式 - 编辑副本时 - 我得到的是一个空的,它会立即使CommandBar不可见。这对我来说没有意义。

那么 - 如何更改CommandBar的样式/模板?

1 个答案:

答案 0 :(得分:3)

此博客文章详细介绍了如何解决溢出问题:

https://metronuggets.com/2015/08/04/universal-windows-apps-appbars-and-custom-colours/

它涉及为溢出案例指定样式。

主要的魔力在于:

<Page.BottomAppBar>
    <CommandBar Background="Blue"
                Foreground="White">
        <CommandBar.CommandBarOverflowPresenterStyle>
            <Style TargetType="CommandBarOverflowPresenter">
                <Setter Property="Background"
                        Value="Blue" />
            </Style>
        </CommandBar.CommandBarOverflowPresenterStyle>
        <CommandBar.PrimaryCommands>
            <AppBarButton Label="settings"
                          Icon="Setting"
                          Foreground="White"/>
        </CommandBar.PrimaryCommands>
        <CommandBar.SecondaryCommands>
            <AppBarButton Label="about"
                          Foreground="White"/>
        </CommandBar.SecondaryCommands>
    </CommandBar>
</Page.BottomAppBar>