gpt4 book ai didi

silverlight-4.0 - 在 MVVM、MEF 实现中动态更改 View 的 ViewModel

转载 作者:行者123 更新时间:2023-12-03 10:50:01 26 4
gpt4 key购买 nike

我有一个要在整个 Silverlight MEF MVVM 解决方案中使用的用户控件。
我希望能够根据我所在的模块将它与多个 ViewModel 中的一个链接起来。这个控件的作用是列出给定实体的记录,以便我可以添加、编辑或删除。我意识到我会在多个位置使用这个控件——更新几个查找表,所以我决定让它成为动态的 ViewModel。如下所示,我使用的是 Galasoft MVVM 插件。

if (!GalaSoft.MvvmLight.ViewModelBase.IsInDesignModeStatic)
{
// set DataContext
DataContext = PluginCatalogService.Instance.FindSharedPlugin(ViewModelTypes.ViewModelMT, PluginType.ViewModel);
_viewModel = (ViewModelMT)DataContext;
}

我的问题是如何从 ViewModelMT 动态更改为 ViewModelCT 以允许我独立显示查找表,例如同一用户控件的实例上的维护类型和契约(Contract)类型?我查看了 Viewmodel 定位器,但我仍然不确定如何完成这项工作。

谢谢

最佳答案

我不认为这真的是 ViewModel 的事情。这更像是一个服务问题。

控件的 ViewModel 不会更改,但您将动态插入所需的服务以维护您的列表。 IE。 MaintenanceTypeService 和 ContractTypesService 将实现 IListMaintenanceService,它公开项目列表以及添加、删除和编辑命令。

关于silverlight-4.0 - 在 MVVM、MEF 实现中动态更改 View 的 ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7970159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com