我正在试验并试图了解 Catel 框架。
我知道 Catel 有一个命名约定来注册视图和视图模型。根据文档[AS]
约定,应替换为程序集名称。这不是我的情况,我必须手动编写程序集名称,如下所示:
string aSSname = Assembly.GetExecutingAssembly().GetName().Name;
var viewLocator = serviceLocator.ResolveType<IViewLocator>();
viewLocator.NamingConventions.Add(aSSname + ".Views.[VM]Window");
以下代码对我不起作用:
viewLocator.NamingConventions.Add("[AS]"+ ".Views.[VM]Window");
更多信息(如果有帮助):
上面的所有代码都放在App.xaml.cs
我将 viewModel 作为单独的程序集加载:
AppDomain.CurrentDomain.PreloadAssemblies(typeof (App).Assembly.GetDirectory());
总而言之,我怎样才能使这个例子符合[AS]
约定。
我猜:
我的猜测是 viewLocator 正在寻找错误的程序集。可能在同一个程序集中寻找视图模型。
如果这是正确的,我该如何更改viewLocator
它在正确的程序集中搜索?