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

时间:2016-09-01 21:19:57

标签: uwp template10

我正在开发一个uwp应用程序,如果没有互联网,那么用户在启动时显示错误没有互联网连接。所以我检查了互联网连接,如果没有那么我在我的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;
    }

现在当没有互联网连接时,它导航到我的错误页面,但汉堡包仍然可见。我如何隐藏汉堡菜。我正在使用Template10的汉堡菜模板。提前谢谢!。

2 个答案:

答案 0 :(得分:2)

为此,请使用IsFullScreen属性。

您可以在OnNavigationToAsync()中进入错误页面,也可以在导航前进行逻辑检查。

IsFullScreen = true;

模板1.18 /库v1.1.11的最新版本已在SettingsService for IsFullScreen中为您设置了一个属性,请记住它在更改时会被持久化到设置文件。

答案 1 :(得分:2)

我的app遇到了类似的问题。假设您没有编辑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添加