Не удается заставить appbarTogglebutton отображаться как установленный в PageHeader шаблона 10

Кажется, я не могу заставить AppBarToggleButton действовать как кнопка-переключатель при использовании внутри PageHeader шаблона 10. Для упрощения я создал новый проект, используя шаблон гамбургера в шаблоне 10. Я добавил следующий код, который связывает кнопку-переключатель «IsChecked» с логическим параметром «Настройки» модели представления:

    <!--  primary commands in XAML -->
    <controls:PageHeader.PrimaryCommands>
            <AppBarToggleButton Icon="Setting" Label="Settings" IsChecked="{Binding Settings, Mode=TwoWay}"  />
    </controls:PageHeader.PrimaryCommands>

    // ViewModel code
    bool _Settings = false;
    public bool Settings { get { return _Settings; } set { Set(ref _Settings, value); } }

Я использовал несколько методов, чтобы изменить значение ViewModel на «true», но это не повлияло на внешний вид Toggles. Я даже пытался установить для IsChecked значение «checked» (без привязки) в дизайнере. Переключатель по-прежнему не выделяется, как проверено. Это должно быть что-то действительно глупое с моей стороны, но я просмотрел 10 образцов шаблона, не найдя никакого использования AppBarTogglebutton в PageHeader, что меня удивило. Итак, я снова сбит с толку тем, что должно быть так просто. Может быть, мне нужно сделать это с помощью стиля, надеюсь, что нет. Любая помощь будет оценена по достоинству.


person user6189573    schedule 06.07.2016    source источник


Ответы (1)


Кажется, что выбор цветов, которые Шаблон 10 использует для фона «PageHeader» по умолчанию, соответствует цвету выделения по умолчанию, используемому для выбранного состояния в «AppBarToggleButton», что делает его не выбранным. Простое решение — изменить цвет фона «PageHeader», чтобы он не соответствовал цвету выделения, используемому для AppBarToggleButton.

person user6189573    schedule 10.07.2016