問題タブ [shared-project]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Xamarin Forms と Prism からネイティブ ビューへ - Prism プロジェクトのビューから共有プロジェクトのビューへの移動
私のプロジェクト:
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ダニエル