私のプロジェクト:
MyAppB (外部共有プロジェクト)
- ContentPage から拡張された複数のビュー (xaml ファイル) が含まれています
- たとえば、 await Navigation.PushAsync(new Chat()); を使用します。
MyApplicationA (コード共有 - .NET Standard 2.0)
- プリズムフレームワーク(Model-View-ViewModel)で構築されています
- たとえば、 await NavigationService.NavigateAsync("name", parameters); を使用します。
MyApplicationA.Android
- (MyApplicationA と MyAppB) の両方を参照 -> これは正しいですか?
MyApplicationA.iOS
- (MyApplicationA と MyAppB) の両方を参照 -> これは正しいですか?
私の目標: MyApplicationA のビューまたはビューモデルから MyAppB のビューに移動したいと考えています。
幸いなことに、MyApplicationA のビューモデルから MyAppB のビューへの移動は機能しています。
MyApplicationA でインターフェイス定義を使用しており、それをビューモデルで呼び出しています。このインターフェースは、MyApplicationA.Android および MyApplicationA.iOS に実装されています。
WORKS:ナビゲートするには:App.Current.MainPage = new NavigationPage(new MainPage(screenCaptureIntent));
//(MyApplicationAからMyApplicationA.Android、次にMyAppBにナビゲートする必要があるのは、その意図です)
動作しない: 使用await App.Current.MainPage.Navigation.PushAsync(new MainPage(screenCaptureIntent));
が機能せず、次のエラーが発生します: Android では PushAsync はグローバルにサポートされていません。NavigationPage を使用してください。
しかし、MyAppB のビューから MyApplicationA のアプリケーションに戻るには問題があります。たとえば、データをロードするビューです。最善の場合、それはナビゲーション スタックの最後のページになります...
誰かがこれを解決する方法のヒントを持っていますか? 私はそれを正しい方法でやっていますか?または、MyApplicationA で MyAppB を参照できますが、デバイス固有のコードはどうなりますか。#if __IOS__
Thxダニエル