UWP帧之间的导航,不会丢失汉堡菜单

时间:2017-11-14 11:14:56

标签: c# xaml mvvm uwp navigation

所以,我正在使用MVVM Light。我有一个UWP应用程序,我已经制作了一个汉堡包菜单,其中的按钮可以将页面加载到MainPage上的Frame中。汉堡菜单位于MainPage。

到目前为止,我只使用了SourcePageType并将其绑定到MainPageViewModel中的Type属性。我可以通过将MainPageViewModel实例分配给静态属性来轻松更新SourcePageType的绑定源。这样我可以这样做:

MainPageViewModel.Current.CurrentFrame = typeof(NewItemPage);

然而,这意味着我只是通过更新MainFrameViewModel在帧之间导航,这可能不是最佳的(例如,在GoBack上丢失)。

我这样做的原因是因为每当我使用NavigateTo时,我都会丢失汉堡菜单并打开一个全新的页面,这不是我想要的。我想随时保留汉堡菜单。

同样重要的是,我也可以在其他页面中导航,而不仅仅是MainPage。例如,其中一个页面具有从数据库加载的图像的网格视图。每当我点击其中一个图像时,我就会被带到例如详细页面或编辑页面。

任何人都可以告诉我如何使用某种类型的NavigationService来做到这一点?我不想依赖于使用代码隐藏,因为我想学习mvvm。

1 个答案:

答案 0 :(得分:0)

以下结构将为您提供帮助

  1. 在您的FrameHamburger位置,Frame和另一个NavigationService的XAML(将包含所有可以导航的内容,也可以作为主占位符)
  2. ngOnInit()中引用内容框架并在其中加载视图并在其中导航。
  3. 我也在我的一个应用程序中做了类似的事情并且工作得很好。

    注意 - 我认为这对你有很大的帮助,如果你需要进一步的帮助,请随时询问。