Я разрабатываю приложение UWP и использую шаблон 10. Когда приложение находится в полноэкранном режиме (Windows 10 Desko, гамбургер-меню открывается. Можно ли закрыть его, когда оно находится в полноэкранном режиме? Я ищу весь код и не нахожу эту опцию!
Template10 - Полноэкранный (Меню Гамбургер)
comment
это функция адаптивных триггеров для экрана. Вы можете изменить их по мере необходимости, но некоторые из них являются испеченной логикой. На самом деле я бы не стал использовать этот элемент управления, он скоро устареет.
- person mvermef   schedule 25.05.2017
Ответы (1)
Когда приложение находится в полноэкранном режиме, открывается меню гамбургеров.
Как сказал @mvermef, эта функция определяется AdaptiveTrigger
гамбургер-меню. Вы можете найти следующие 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
Большое спасибо! Я знаю, что это задается
AdaptiveTrigger
гамбургер-меню, но я не знаю, где код. Где этот код: <Controls:HamburgerMenu x:Name="MyHamburgerMenu" VisualStateWideDisplayMode="Inline">
- person Fernando Sousa; 28.05.2017
@FernandoSousa, попробуйте Ctrl+F найти
HamburgerMenu
в своем решении. Как вы создаете свое приложение шаблона 10, я имею в виду из какого шаблона?
- person Sunteen Wu; 29.05.2017
Шаблон гамбургера
- person Fernando Sousa; 29.05.2017
@FernandoSousa, если вы используете шаблон
Hamgurger
, вы должны найти <Controls:HamburgerMenu>
в Views->Shell.xaml
. Затем добавьте свойство, как показано выше.
- person Sunteen Wu; 31.05.2017