Xamarin 表单 - UWP 后退按钮?
Posted
技术标签:
【中文标题】Xamarin 表单 - UWP 后退按钮?【英文标题】:Xamarin Forms - UWP Back Button? 【发布时间】:2016-07-14 16:40:17 【问题描述】:我有一个使用 UWP 的简单 Xamarin Forms 应用程序。我正在推动一个新的观点:
await Navigation.PushAsync(new NavigationPage(new MyDetailView()));
当该视图加载时,没有返回堆栈的返回按钮。推荐的方法是什么?请注意,ios 中存在后退按钮。
【问题讨论】:
你不能创建自己的后退按钮,然后在按下它时调用后退逻辑吗? 我试图将内容保持在 Xamarin Forms 范式内。令我惊讶的是,这不是以某种方式烘烤的。 它没有融入桌面 UWP 应用程序。您还需要在那里创建自己的后退按钮。 看起来他们在这里做的:github.com/xamarinhq/app-acquaint 不知道到底是怎么做的 从 2017 年 8 月 29 日起,它不包括从 VS2017 模板创建的默认应用程序中的后退按钮。 【参考方案1】:Desktop 上的后退按钮可以使用以下代码 sn-p 显示:
SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility =
AppViewBackButtonVisibility.Visible;
这将在应用的标题栏中显示后退按钮。您可能希望在每次导航时更新此状态,以便在不需要按钮时(导航堆栈为空时)不显示按钮。
但我想这应该自动发生,因为这是 Xamarin.Forms 中已经存在的行为 - 请参阅 NavigationPageRenderer 源代码行 463。
我认为问题可能出在这样一个事实,即您正在使用一个包裹在新 NavigationPage
中的新视图,该视图窃取了导航堆栈并将其设为空。我想这应该可以按您的预期工作并解决您的问题(仅在现有 NavigationPage
中推送新视图):
Navigation.PushAsync( new MyDetailView() );
【讨论】:
好吧,但是如果我需要一个新的导航呢?如何强制返回按钮?以上是关于Xamarin 表单 - UWP 后退按钮?的主要内容,如果未能解决你的问题,请参考以下文章