我的项目:
MyAppB(外部共享项目)
- 包括从 ContentPage 扩展的多个视图(xaml 文件)
- 使用例如 await Navigation.PushAsync(new Chat());
MyApplicationA(代码共享 - .NET Standard 2.0)
- 使用 prism 框架构建 (Model-View-ViewModel)
- 使用例如 await NavigationService.NavigateAsync("name", parameters);
我的应用程序A.Android
- 同时引用(MyApplicationA 和 MyAppB)-> 这是正确的吗?
我的应用程序A.iOS
- 同时引用(MyApplicationA 和 MyAppB)-> 这是正确的吗?
我的目标:我想从 MyApplicationA 中的视图或视图模型导航到 MyAppB 中的视图。
幸运的是,从 MyApplicationA 中的视图模型导航到 MyAppB 中的视图正在工作。
我在 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 中的应用程序,例如加载数据的视图,在最好的情况下,它将是导航堆栈中的最后一页......
有人提示我如何解决这个问题吗?我做对了吗?或者我可以在 MyApplicationA 中引用 MyAppB - 但是设备特定代码会发生什么,例如#if __IOS__
谢谢丹尼尔