Template10 - Полноэкранный (Меню Гамбургер)

Я разрабатываю приложение UWP и использую шаблон 10. Когда приложение находится в полноэкранном режиме (Windows 10 Desko, гамбургер-меню открывается. Можно ли закрыть его, когда оно находится в полноэкранном режиме? Я ищу весь код и не нахожу эту опцию!


person Fernando Sousa    schedule 24.05.2017    source источник
comment
это функция адаптивных триггеров для экрана. Вы можете изменить их по мере необходимости, но некоторые из них являются испеченной логикой. На самом деле я бы не стал использовать этот элемент управления, он скоро устареет.   -  person mvermef    schedule 25.05.2017


Ответы (1)


Когда приложение находится в полноэкранном режиме, открывается меню гамбургеров.

Как сказал @mvermef, эта функция определяется Adaptive​Trigger гамбургер-меню. Вы можете найти следующие VisualStateGroup внутри элемента управления шаблона 10 HamburgerMenu.

<VisualStateGroup x:Name="VisualStateGroup" CurrentStateChanged="VisualStateGroup_CurrentStateChanged">
    <VisualState x:Name="VisualStateNarrow">
        <VisualState.StateTriggers>
            <AdaptiveTrigger x:Name="VisualStateNarrowTrigger" MinWindowWidth="{Binding VisualStateNarrowMinWidth, ElementName=ThisPage, Mode=OneWay}" />
        </VisualState.StateTriggers>
        <!--  see code-behind  -->
    </VisualState>
    <VisualState x:Name="VisualStateNormal">
        <VisualState.StateTriggers>
            <AdaptiveTrigger x:Name="VisualStateNormalTrigger" MinWindowWidth="{Binding VisualStateNormalMinWidth, ElementName=ThisPage, Mode=OneWay}" />
        </VisualState.StateTriggers>           
    </VisualState>
    <VisualState x:Name="VisualStateWide">
        <VisualState.StateTriggers>
            <AdaptiveTrigger x:Name="VisualStateWideTrigger" MinWindowWidth="{Binding VisualStateWideMinWidth, ElementName=ThisPage, Mode=OneWay}" />
        </VisualState.StateTriggers>           
    </VisualState>
</VisualStateGroup>

When the windows size become wide than 1200, the VisualStateWideTrigger of HamburgerMenu will be triggered so that the menu open.

Можно ли его закрыть, когда он в полноэкранном режиме?

Так что, если вы хотите предотвратить это, вы можете установить VisualStateWideDisplayMode на Inline или CompactOverlay на HamburgerMenu управление.

<Controls:HamburgerMenu x:Name="MyHamburgerMenu"   VisualStateWideDisplayMode="Inline">
person Sunteen Wu    schedule 25.05.2017
comment
Большое спасибо! Я знаю, что это задается Adaptive​Trigger гамбургер-меню, но я не знаю, где код. Где этот код: <Controls:HamburgerMenu x:Name="MyHamburgerMenu" VisualStateWideDisplayMode="Inline"> - person Fernando Sousa; 28.05.2017
comment
@FernandoSousa, попробуйте Ctrl+F найти HamburgerMenu в своем решении. Как вы создаете свое приложение шаблона 10, я имею в виду из какого шаблона? - person Sunteen Wu; 29.05.2017
comment
Шаблон гамбургера - person Fernando Sousa; 29.05.2017
comment
@FernandoSousa, если вы используете шаблон Hamgurger, вы должны найти <Controls:HamburgerMenu> в Views->Shell.xaml. Затем добавьте свойство, как показано выше. - person Sunteen Wu; 31.05.2017