Я экспериментирую и пытаюсь понять структуру 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
, чтобы он искал правильную сборку?