【问题标题】:Template 10: Hamburger Menu can not auto open after changing VisualStateDisplayMode模板 10:更改 VisualStateDisplayMode 后汉堡菜单无法自动打开
【发布时间】:2017-01-12 01:58:43
【问题描述】:

我对 Hamburger Menu 的 DisplayMode 有点困惑。 我希望汉堡菜单可以在正常和宽视觉状态下完全关闭。 我尝试将VisualStateWideDisplayMode 设置为Inline,它确实是内联的,但窗格无法自动打开。当我打开窗格并单击导航到另一个页面时,窗格已关闭。但我希望它可以始终打开。 我尝试将IsOpen 设置为True,但我没有效果。

如果我应该编写一些触发器或使用其他方式? 感谢帮助。

这样的代码:

     <Controls:HamburgerMenu x:Name="MyHamburgerMenu" 
                             VisualStateNormalDisplayMode="Overlay"
                             VisualStateWideDisplayMode="Inline"
                             IsOpen="True"/>

【问题讨论】:

    标签: uwp uwp-xaml template10 hamburger-menu


    【解决方案1】:

    我查看了Template10的源代码。似乎这是设计使然。即使您在 xaml 页面上设置了 DisplayMode 和 IsOpen 值。但是在 HamburgerMenu 的代码隐藏中,它总是会根据 VisualStateGroup.CurrentState 的值更改 DisplayMode 和 IsOpen 的值。 您可以在 Template10 源代码的“UpdateVisualStates()”方法中看到这种行为。

    所以我认为如果你想改变这个默认行为,你需要自己重建一个自定义版本。或者你可以使用 SplitView 来制作你的自定义 HamburgerMenu 控件,比如 James Quick 在这里描述:Windows 10 SplitView – Build Your First Hamburger Menu

    【讨论】:

    • 非常感谢您的回答,我试试看
    【解决方案2】:

    我相信您已经发现了一个错误。我在这里举报了https://github.com/Windows-XAML/Template10/issues/1381

    感谢您使用模板 10

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      相关资源
      最近更新 更多