Xaml 使用MvvmCross在UWP应用程序的NavigationView中启用后退按钮
我的UWP应用程序使用MvvmCross框架,有一个Xaml 使用MvvmCross在UWP应用程序的NavigationView中启用后退按钮,xaml,uwp,mvvmcross,master-detail,Xaml,Uwp,Mvvmcross,Master Detail,我的UWP应用程序使用MvvmCross框架,有一个NavigationView,带有一个主页和一个详细页面,如图和文件夹结构所示。这两个页面都用[MvxSplitViewPresentation(SplitPanePosition.Content)]注释,以便在内容端显示它们。现在,我想在详细视图上添加一个后退按钮,但我不知道如何启用该按钮并向后导航 private void NavigationView_BackRequested(NavigationView sender, Navigat
NavigationView
,带有一个主页和一个详细页面,如图和文件夹结构所示。这两个页面都用[MvxSplitViewPresentation(SplitPanePosition.Content)]
注释,以便在内容端显示它们。现在,我想在详细视图上添加一个后退按钮,但我不知道如何启用该按钮并向后导航
private void NavigationView_BackRequested(NavigationView sender, NavigationViewBackRequestedEventArgs args)
{
//use the MyFindListBoxChildOfType method from the link.
var MyFrame = MyFindListBoxChildOfType<Frame>(NaviView);
if (MyFrame.CanGoBack)
{
MyFrame.GoBack();
}
}
信息:我的详细信息页面通过调用\u navigationService.Navigate()打开在MainViewModel
中选择code>
NavigationView有一个内置的,您可以将IsBackEnabled设置为True以显示它,并订阅BackRequested事件以控制其中的导航返回操作
.xaml:
<NavigationView IsBackEnabled="True" BackRequested="NavigationView_BackRequested">
......
<NavigationView>
......
.cs:
更新:
通过检查代码,页面不会加载到FrameContent中,NavigationView将其内置在框架中,因此您可以使用VisualTreeHelper通过引用此内容获取框架。然后使用GoBack()方法向后导航
private void NavigationView_BackRequested(NavigationView sender, NavigationViewBackRequestedEventArgs args)
{
//use the MyFindListBoxChildOfType method from the link.
var MyFrame = MyFindListBoxChildOfType<Frame>(NaviView);
if (MyFrame.CanGoBack)
{
MyFrame.GoBack();
}
}
private void NavigationView\u BackRequested(NavigationView发送方,NavigationViewBackRequestedEventArgs参数)
{
//使用链接中的MyFindListBoxChildOfType方法。
var MyFrame=MyFindListBoxChildOfType(NaviView);
if(MyFrame.CanGoBack)
{
MyFrame.GoBack();
}
}
演示应用程序:我以前试过。后退按钮已启用,但我得到的印象是\u navigationService.Navigate()代码>不会将页面加载到名为FrameContent的框架中。页面已显示,但“后退”按钮不起作用。您是如何创建MVVMCross项目的?我对它进行了测试,效果很好,你能提供一个可以复制的简单示例吗?我遵循了这个指南,但我可以在几个小时内提供一个演示项目。我在我的问题中添加了。