問題タブ [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.

0 投票する
0 に答える
176 参照

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ダニエル