模板 10:如果没有互联网则隐藏 HamBurgerMenu

Template 10: Hide HamBurgerMenu if no internet

我正在开发一个 uwp 应用程序,如果没有互联网,则会向用户显示错误 start.So 没有互联网连接 我检查了互联网连接,如果没有,那么我在我的 App.xaml.:

 public override async Task OnStartAsync(StartKind startKind, IActivatedEventArgs args)
    {
        // long-running startup tasks go here
        await Task.Delay(TimeSpan.FromSeconds(6));  
           if (!NoInternet)
            {


                NavigationService.Navigate(typeof(Views.Error));
            }             
            }         
        await Task.CompletedTask;
    }

现在,当没有互联网连接时,它会导航到我的错误页面,但 HamburgerMenu 仍然是 visible.How 我要隐藏 HamburgerMenu 吗?我正在使用 Template10.Thanks 的 HamburgerMenu 模板! .

为此,请使用 IsFullScreen 属性。

您可以在转到错误页面的 OnNavigationToAsync() 中执行此操作,或者在导航之前的逻辑检查中执行此操作。

IsFullScreen = true;

最新版本的模板 1.18 / 库 v1.1.11 已经在 IsFullScreen 的设置服务中为您设置了 属性,请记住,当它更改时,它会保留到设置文件中。

我 运行 遇到与我的 app.Assuming 类似的问题,您还没有编辑 shell.xaml.cs 以及 Hamburgermenu 名称,只需将其添加到 shall.xaml.cs

   public HamburgerMenu _THamburgerMenu
    {
        get { return MyHamburgerMenu;}

        set { MyHamburgerMenu = value;}
    }

你的app.xaml.cs应该是这样的:

public override async Task OnStartAsync(StartKind startKind, IActivatedEventArgs args)
{
    // long-running startup tasks go here
    await Task.Delay(TimeSpan.FromSeconds(6));  
       if (!NoInternet)
        {

            Shell.Instance._THamburgerMenu.IsFullScreen = true;

            NavigationService.Navigate(typeof(Views.Error));
        }             
        }         
    await Task.CompletedTask;
}

Ps:在app.xaml.cs

中使用youappname.Views添加