2016-12-21 48 views
1

我對漢堡菜單的DisplayMode有點困惑。 我希望漢堡菜單可以在正常和寬視覺狀態下完全關閉。 我嘗試將VisualStateWideDisplayMode設置爲Inline,它確實是內聯的,但窗格無法自動打開。當我打開窗格並單擊導航到另一頁時,窗格關閉。但我希望它始終可以打開。 我嘗試將IsOpen設置爲True,但我沒有效果。模板10:漢堡包菜單在更改VisualStateDisplayMode後無法自動打開

如果我應該寫一些觸發器或使用另一種方式? 感謝您的幫助。

這樣的代碼:

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

回答

1

我已經檢查的Template10的源代碼。看起來這是設計。即使您在xaml頁面上設置了DisplayMode和IsOpen值。但是在HamburgerMenu的代碼隱藏中,它總是會根據VisualStateGroup.CurrentState的值改變DisplayMode和IsOpen的值。 您可以在Template10源代碼中的「UpdateVisualStates()」方法中看到此行爲。

所以我認爲如果你想改變這種默認行爲,你需要自己重建一個自定義版本。或者你可以使用SplitView來使你的自定義HamburgerMenu控件像James Quick descirbes在這裏:Windows 10 SplitView – Build Your First Hamburger Menu

+0

非常感謝您的回答,我來試試 – Otoha