亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在運行時編輯漢堡菜單項列表?

如何在運行時編輯漢堡菜單項列表?

C#
四季花海 2023-07-09 16:15:09
我在 UWP 應用程序中使用模板 10。但是我需要根據我的情況啟用/禁用漢堡按鈕。我IsFullScreen最初將屬性設置為 true 是因為我想在用戶登錄應用程序后顯示漢堡菜單。因為 Shell 頁面最初是在運行時加載的,如果我創建它的新實例,那么應用程序將在全屏上運行,并且我無法看到菜單。我在這里先向您的幫助表示感謝。
查看完整描述

1 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

訪問Shell頁面實例

您首先需要能夠訪問Shell頁面實例。您可以通過兩種方式執行此操作。如果您知道,總會有一個實例,您可以添加一個static指向它的屬性,如下所示:


public static Shell Instance { get; private set; }

并在構造函數中設置實例:


public Shell()

{

    //InitializeComponent(), etc....

    Instance = this;

}

現在,您可以從任何地方Shell.Instance訪問它。Shell如果理論上您可以擁有多個窗口,則可以訪問當前using的實例Windows.Current.Content。如果您使用 Template 10 漢堡包模板,您將執行以下操作:


var dialog = (ModalDialog)Window.Current.Content;

var shell = (Shell)dialog.Content;

禁用/啟用

控制中的項目HamburgerMenu具有類型HamburgerButtonInfo并具有IsEnabled可用于啟用/禁用的屬性。如果將 a 添加x:Name="Menu"到HamburgerMenu控件,則可以編寫如下啟用方法:


public void SetMenuEnabled(bool enable)

{

   foreach (var primaryButton in Menu.PrimaryButtons)

   {

      primaryButton.IsEnabled = false;

   }

   foreach (var secondaryButton in Menu.SecondaryButtons)

   {

      secondaryButton.IsEnabled = false;

   }

}

您可以將此方法放在Shell頁面中并通過調用它Shell.Instance.SetMenuEnabled(false)來禁用和Shell.Instance.SetMenuEnabled(true)啟用所有按鈕。


查看完整回答
反對 回復 2023-07-09
  • 1 回答
  • 0 關注
  • 133 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號