Windows Template Studio - 导航
Windows Template Studio - Navigation
我正在开发一个简单的 UWP 应用程序。我使用 Windows Template Studio 创建了一个应用程序作为导航窗格,基本 MVVM。我希望该应用程序以没有 NavigationView 控件(导航窗格)的起始页(在我的例子中是登录页)开始,然后在成功登录后转到带有导航窗格的普通视图。这已经完成了,因为我遵循了 https://github.com/Microsoft/WindowsTemplateStudio/blob/dev/docs/navigation.md
上的文档
private ActivationService CreateActivationService()
{
//This is the default navigation for a NavigationPane project type
//return new ActivationService(this, typeof(Views.HomePage), new Views.ShellPage());
//We are going to initialize navigation to a StartPage
return new ActivationService(this, typeof(Views.StartPage));
}
成功登录后,我首先导航到 Views.ShellPage,然后按说明导航到 Views.HomePage,这工作正常。
我的问题是如何在用户注销时导航回 StartPage 并隐藏导航窗格?简单 NavigationService.Navigate<Views.StartPage>();
只会导航到起始页,但如何使用导航窗格卸载 shell?
预先感谢您的帮助。
My question is how to navigate back to StartPage and hide the navigation pane when a user logs off?
当你向后导航时,导航窗格仍然存在是因为当前框架不是根框架,你只是在 shell 框架内导航,导航窗格将始终存在,因为它不在内部shell 框架。要解决这个问题,只需在注销时将NavigationService
的Frame
属性设置为根框架,根框架应该由Window.Current.Content
.
获取
private void btnlogout_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
Frame rootFrame = Windows.UI.Xaml.Window.Current.Content as Frame;
NavigationService.Frame = rootFrame;
NavigationService.Navigate<StartPage>();
}
我正在开发一个简单的 UWP 应用程序。我使用 Windows Template Studio 创建了一个应用程序作为导航窗格,基本 MVVM。我希望该应用程序以没有 NavigationView 控件(导航窗格)的起始页(在我的例子中是登录页)开始,然后在成功登录后转到带有导航窗格的普通视图。这已经完成了,因为我遵循了 https://github.com/Microsoft/WindowsTemplateStudio/blob/dev/docs/navigation.md
上的文档private ActivationService CreateActivationService()
{
//This is the default navigation for a NavigationPane project type
//return new ActivationService(this, typeof(Views.HomePage), new Views.ShellPage());
//We are going to initialize navigation to a StartPage
return new ActivationService(this, typeof(Views.StartPage));
}
成功登录后,我首先导航到 Views.ShellPage,然后按说明导航到 Views.HomePage,这工作正常。
我的问题是如何在用户注销时导航回 StartPage 并隐藏导航窗格?简单 NavigationService.Navigate<Views.StartPage>();
只会导航到起始页,但如何使用导航窗格卸载 shell?
预先感谢您的帮助。
My question is how to navigate back to StartPage and hide the navigation pane when a user logs off?
当你向后导航时,导航窗格仍然存在是因为当前框架不是根框架,你只是在 shell 框架内导航,导航窗格将始终存在,因为它不在内部shell 框架。要解决这个问题,只需在注销时将NavigationService
的Frame
属性设置为根框架,根框架应该由Window.Current.Content
.
private void btnlogout_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
Frame rootFrame = Windows.UI.Xaml.Window.Current.Content as Frame;
NavigationService.Frame = rootFrame;
NavigationService.Navigate<StartPage>();
}