好的,所以我对这种事情不太满意。我目前在引导程序中配置我的视图模型定位器有以下内容。
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从一个项目绑定到另一个项目的视图。这可行吗?如果是的话,怎么会这样呢?任何帮助将不胜感激。