首页 > 解决方案 > 共享 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);
                  }
         }

标签: wpfxamarin.formsprism

解决方案


如果您的代码包含对任何类型的引用,Prism.Forms或者Prism.Wpf您无法在平台之间共享它。

共享库应Prism.Core仅引用。然后,您可以创建引用共享Prism.Core基础库的平台特定库,并分别为 Xamarin.Forms 和 WPF 添加平台特定功能。


推荐阅读