Xamarin Forms и Prism к собственному представлению - переход от представления в проекте призмы к представлению в общем проекте - PullRequest
0 голосов
/ 17 июня 2019

Мой проект:

  • MyAppB (внешний общий проект)

    • включает в себя несколько представлений (файлы xaml), которые расширяются от ContentPage
    • использует, например, await Navigation.PushAsync (новый чат ());
  • MyApplicationA (совместное использование кода - .NET Standard 2.0)

    • - это сборка с платформой призмы (Model-View-ViewModel)
    • использует, например, await NavigationService.NavigateAsync ("имя", параметры);
  • MyApplicationA.Android

    • ссылается на оба (MyApplicationA и MyAppB) -> Это правильно?
  • MyApplicationA.iOS

    • ссылается на оба (MyApplicationA и MyAppB) -> Это правильно?

Моя цель: Я хочу перейти от представления или модели представления в MyApplicationA к представлению в MyAppB.

К счастью, навигация к представлению в MyAppB из модели представления в MyApplicationA работает.

Я использую определение интерфейса в MyApplicationA и вызывает его в модели представления. Интерфейс реализован в MyApplicationA.Android и MyApplicationA.iOS.

РАБОТАЕТ: Для навигации я использую: App.Current.MainPage = new NavigationPage(new MainPage(screenCaptureIntent)); // (цель - причина, по которой мне нужно перейти от MyApplicationA к MyApplicationA.Android, а затем к MyAppB)

НЕ РАБОТАЕТ: Использование await App.Current.MainPage.Navigation.PushAsync(new MainPage(screenCaptureIntent)); не работает и выдает следующую ошибку: PushAsync не поддерживается глобально на Android, используйте NavigationPage.

Но у меня проблемы с возвратом из представления в MyAppB к приложению в MyApplicationA, например. представление, которое загружает данные, в лучшем случае это будет последняя страница в стеке навигации ...

У кого-нибудь есть подсказка для меня, как это решить? Я делаю это правильно? Или я могу ссылаться на MyAppB в MyApplicationA - но что происходит с кодом конкретного устройства, например, #if __IOS__

Thx Daniel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...