Silverlight 4.0 在MVVM、MEF实现中动态更改视图的ViewModel
我有一个usercontrol,我想在我的Silverlight MEF MVVM解决方案中使用它。 我希望能够将它与许多ViewModels中的一个连接起来,具体取决于我所在的模块。此控件的作用是列出给定实体的记录,以便我可以添加、编辑或删除。我意识到我将在多个位置使用此控件-更新多个查找表,因此我决定将其ViewModel设置为动态。如下所示,我正在使用Galasoft MVVM插件Silverlight 4.0 在MVVM、MEF实现中动态更改视图的ViewModel,silverlight-4.0,mvvm,mef,Silverlight 4.0,Mvvm,Mef,我有一个usercontrol,我想在我的Silverlight MEF MVVM解决方案中使用它。 我希望能够将它与许多ViewModels中的一个连接起来,具体取决于我所在的模块。此控件的作用是列出给定实体的记录,以便我可以添加、编辑或删除。我意识到我将在多个位置使用此控件-更新多个查找表,因此我决定将其ViewModel设置为动态。如下所示,我正在使用Galasoft MVVM插件 if (!GalaSoft.MvvmLight.ViewModelBase.IsInDesignModeSt
if (!GalaSoft.MvvmLight.ViewModelBase.IsInDesignModeStatic)
{
// set DataContext
DataContext = PluginCatalogService.Instance.FindSharedPlugin(ViewModelTypes.ViewModelMT, PluginType.ViewModel);
_viewModel = (ViewModelMT)DataContext;
}
我的问题是如何从ViewModelMT动态更改为ViewModelCT,以允许我在同一用户控件的实例上独立显示查找表,例如维护类型和合同类型?我查看了Viewmodel定位器,但仍不确定如何完成此操作
谢谢我不认为这是一个真正的ViewModel。这更像是一个服务问题 控件的ViewModel不会更改,但您将动态插入所需的服务以维护列表。即,MaintenanceTypeService和ContractTypesService将实现IListMaintenanceService,该服务公开项目列表以及添加、删除和编辑命令