Xamarin.Forms Navigation.PushAsync在ContentView中不起作用

Ama*_*hur 6 c# navigation android xamarin xamarin.forms

我想导航到Xamarin Forms中的其他页面,但它在内容视图中不起作用.我在用

等待Navigation.PushAsync(new Page2());

此代码未给出任何错误并成功运行,但对页面没有影响.我也在内容页面中使用此代码,它在那里正常工作,但在ContentView的情况下它不起作用.目前我正在使用

等待ParentView.Navigation.PushAsync(new Page2());

它在ContentView中运行良好.但是我收到警告"从2.1.0版本开始,ParentView已经过时了.请改用Parent.".但是没有像这样的功能

等待Parent.Navigation.PushAsync(new Page2());

它给出了语法错误.那么,有没有其他方法可以使用ContentView导航到其他页面.

cva*_*eek 6

如果MainPage你的应用程序是a NavigationPage,那么你可以随时PushAsync()从你的应用程序内部进行调用.我建议检查MainPage类型是否NavigationPage只是为了确保你不抛出强制转换异常.要做到这一点,只需使用以下两行:

if(App.Current.MainPage is NavigationPage)
    (App.Current.Mainpage as NavigationPage).PushAsync(new Page2());
Run Code Online (Sandbox Code Playgroud)