wpf - 共享 Prism Viewmodels WPF 和 Xamarin 表单
问题描述
有谁知道是否可以在 WPF 和 Xamarin Forms 应用程序之间共享视图模型?下面是 Xamarin Forms 视图模型的片段。Forms 应用程序有一些独特的接口,例如 IPageDialogService 以及导航的处理方式,因此我们似乎无法做到这一点,但想检查一下。
using System;
using System.Threading.Tasks;
using Prism.Commands;
using Prism.Mvvm;
using Prism.Navigation;
using Prism.Services;
namespace PrismSample.ViewModels
{
public class MainPageViewModel : BindableBase, IInitialize, IConfirmNavigation,
INavigationAware
{
private INavigationService _navigationService { get; }
private IPageDialogService _dialogs { get; }
public MainPageViewModel(INavigationService navigationService, IPageDialogService
dialogs)
{
_navigationService = navigationService;
_dialogs = dialogs;
NavigateCommand = new DelegateCommand<string>(OnNavigateCommandExecuted);
}
}
解决方案
如果您的代码包含对任何类型的引用,Prism.Forms
或者Prism.Wpf
您无法在平台之间共享它。
共享库应Prism.Core
仅引用。然后,您可以创建引用共享Prism.Core
基础库的平台特定库,并分别为 Xamarin.Forms 和 WPF 添加平台特定功能。
推荐阅读
- python-3.x - 当列值低于特定范围时,提取熊猫数据框行中的日期
- python - 如何单击/使用从 Python 中的 Beautiful Soup 解析的链接
- docker - 自托管 gitlab,CI docker 登录失败,消息被拒绝:访问被禁止
- jquery - Php ajax提交表单.reset()不起作用
- css - Angular 4.x - CSS 背景颜色不改变 IE11
- android - TextInput 字体系列在 React Native Android 中不起作用
- php - Symfony2 - 无法更新学说模式。基表或视图已存在
- asp.net-mvc - 在 HTML5 (MVC) 中显示视频
- python - 运行 SQL 查询时出现 PySpark 错误
- java - 方法 ASM Java 的覆盖