Контекст: Наша команда пытается использовать Xamarin.Forms
(XF) Встраивание , чтобы постепенно преобразовать наш проект из использования Xamarin.Native
в XF, чтобы упростить обслуживание и реализацию функций. в будущем.
Проблема: Как вы можете видеть в параметрах функций в строках, на которые ссылаются ссылки, Xamarin позволяет вам конвертировать любой тип XF Page
в собственный ViewController
в iOS , но он позволяет конвертировать только XF ContentPage
в собственный Fragment
в Android .
Важность: Это различие играет важную роль, потому что через Xamarin.Native Android
вы не можете реализовать XF NavigationPage
. Что это обозначает? Из Xamarin.Native Android вы не можете конвертировать свое приложение в XF, поэтому вы не можете вызывать такие функции, как PushAsync
или PopAsync
.
Добавлено объяснение: Вы можете открыть NavigationPages на iOS, как вы можете видеть в этом примере здесь , который позволяет использовать такие функции, как PushAsync
или PopAsync
, с помощьюпросто делаем:
UIViewController user2 = new NavigationPage(new TestPage()).CreateViewController();
Так что для Android, как видно здесь , в настоящее время мы можем сделать это только
Android.Support.V4.App.Fragment fragment = new TestPage().CreateSupportFragment(this);
, и мне было интересно, есть ли способ сделатьчто-то вроде этого?
Android.Support.V4.App.Fragment fragment = new NavigationPage(new TestPage()).CreateSupportFragment(this);
Вопрос: Кто-нибудь ранее открывал Xamarin.Forms NavigationPage
от Xamarin.Android native раньше? Кто-нибудь знает обходной путь, который позволит нам использовать функции PushAsync и PopAsync?
PS: Вот игровая площадка Github , которая была Spike