Изменить цвета CommandBar (AppBar)

Я хочу изменить цвет фона Background и Foreground CommandBar. Однако простая установка Background="whatever" Foreground="whatever" не меняет часть переполнения.

Я часами пробовал использовать шаблоны, стили и т. Д., Но я действительно не знаю, что делаю, так что это бесполезно. Я прочитал https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/styling-controls и https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/control-templates (и другие, например многочисленные вопросы на этом сайте), которые на самом деле просто говорят вам, что есть такая вещь, как изменение стиля, и показывают, как установить элемент в определенный стиль. Но они не показывают вам, какие элементы имеют какие доступные переменные ... Кроме того, при щелчке правой кнопкой мыши на CommandBar - стиль редактирования - редактирование копии - я получаю пустой элемент, который сразу делает CommandBar невидимым. Для меня это не имеет смысла.

Итак - как мне изменить стиль / шаблон CommandBar?


person ispiro    schedule 11.07.2016    source источник


Ответы (1)


В этом сообщении блога подробно рассказывается о том, как решить проблему переполнения:

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>
person Clint    schedule 11.07.2016
comment
У кого-нибудь это работает при ориентации на Win 10, 10586? Здесь абсолютно ничего не делает - person Nilzor; 01.03.2017
comment
Привет, @Nilzor, возможно, вам больше повезет, если вы зададите новый вопрос и, возможно, сослаетесь на этот. - person Clint; 02.03.2017