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)启用所有按钮。
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报