我想导航到Xamarin Forms中的其他页面,但它无法在Content View中使用。我正在使用
await Navigation.PushAsync(new Page2());
此代码未给出任何错误并成功运行,但对页面没有影响。我也在内容页面中使用此代码,它在那里正常工作,但在ContentView的情况下它不起作用。 目前我正在使用
await ParentView.Navigation.PushAsync(new Page2());
它在ContentView中运行良好。但我收到警告说,从版本2.1.0开始,#34; ParentView已经过时了。请改用Parent。"。但是没有像
那样的功能await Parent.Navigation.PushAsync(new Page2());
它正在给出语法错误。那么,有没有其他方法可以使用ContentView导航到其他页面。
答案 0 :(得分:6)
如果您的应用的MainPage
是NavigationPage
,那么您始终可以从应用内部拨打PushAsync()
。我建议您检查MainPage
类型为NavigationPage
,以确保您不会抛出强制转换异常。要做到这一点,只需使用以下两行:
if(App.Current.MainPage is NavigationPage)
(App.Current.Mainpage as NavigationPage).PushAsync(new Page2());
答案 1 :(得分:2)
cvanbeek提供的解决方案不适用于我的问题,但我可以解决 您必须在C#代码中使用它 问题是您必须了解代码的层次结构 使用它可以移动到ContentView .content属性内的另一个页面
((App.Current.MainPage as MasterDetailPage).Detail as NavigationPage).Navigation.PushAsync(new page());
享受民俗:)