Xamarin Forms - UWP返回按钮?

6
我有一个简单的Xamarin Forms 应用,使用UWP。我正在推送一个新视图:
await Navigation.PushAsync(new NavigationPage(new MyDetailView()));

当该视图加载时,没有返回上一级的后退按钮。推荐采取什么方法?请注意,在iOS中有后退按钮。


你不能创建自己的返回按钮,然后在按下它时调用返回逻辑吗? - DotNetRussell
我试图在Xamarin Forms范例内保持一致。令我惊讶的是,这种方式并没有被内置。 - aherrick
它不是内置在桌面UWP应用程序中的。你还需要自己创建返回按钮。 - DotNetRussell
看起来他们是在这里做:https://github.com/xamarinhq/app-acquaint 不确定具体的方法。 - aherrick
截至2017年8月29日,从VS2017模板创建的默认应用程序中不包括后退按钮。 - Andy Dent
请查看5个月前的错误报告!https://bugzilla.xamarin.com/show_bug.cgi?id=52348 - Andy Dent
1个回答

10

在桌面上,可以使用以下代码片段显示后退按钮:

SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
   AppViewBackButtonVisibility.Visible;

这将在应用的标题栏中显示返回按钮。您可能希望在每次导航时更新此状态,以便在不需要显示按钮时(导航堆栈为空时)不会显示。

但我想这应该自动发生,因为这已经是Xamarin.Forms中的行为-请参见NavigationPageRenderer源代码463行。

我认为问题可能是您正在推入新视图并使用新的NavigationPage进行包装,这会夺取导航堆栈并使其为空。我想如果您只在现有的NavigationPage中推入新视图,则应该按您所期望的工作并解决您的问题:

Navigation.PushAsync( new MyDetailView() );

那么,如果我需要一个新的导航怎么办?如何强制使用返回按钮? - Dpedrinha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接