ConfigureViewModelLocator绑定不同程序集中的视图

时间:2017-01-26 14:22:23

标签: prism prism-6 viewmodellocator

好的,所以我对这种事情不太满意。我目前在引导程序中配置我的视图模型定位器有以下内容。

            ViewModelLocationProvider.SetDefaultViewTypeToViewModelTypeResolver(viewType =>
            {
                var viewName = viewType.FullName;
                viewName = viewName.Replace("Views", "ViewModels");
                var viewAssemblyName = viewType.GetTypeInfo().Assembly.FullName;
                var viewModelName = string.Format(CultureInfo.InvariantCulture, " {0}Model, {1} ", viewName,
                    viewAssemblyName);
                return Type.GetType(viewModelName);
            });

            ViewModelLocationProvider.SetDefaultViewModelFactory(type => Kernel.Get(type));

据我所知,这将搜索视图所在的程序集,并将视图中结尾的任何视图的datacontext绑定到匹配的命名viewmodel。 (对不起,我也很难解释这些事情)

但是我们想要进一步分离模块。任何人都可以向我解释一下,如果它们位于不同的项目中,我们可以将视图模型链接到视图吗?

IE如果我有两个项目

ModuleA.Views
ModuleA.ViewModels

我想将viewmodels从一个项目绑定到另一个项目的视图。这可行吗?如果是的话,怎么会这样呢?任何帮助将不胜感激。

0 个答案:

没有答案