Всем привет! Использую Prism c Unity ioc. Есть две модели-представления. Как можно обращаться к ним через Unity, внутри каждой модели-представления? Есть интерфейс IContainerExtension и метод Resolve. Но разрешить что то не получается. Может подскажите, как правильно это сделать.
Допустим я хочу изменить в модели-представление vm1 свойство a, из модели-представления vm2. В конструкторе vm2 пытаюсь резолвить vm1 так:
public vm2(IContainerExtension ce)
{
var vm = ce.Resolve<vm1>();
vm.a = "blablabla";
}
, однако во вьюхе к которой привязана vm1 значение не обновляется.
В принципе, я решил это через eventagregator, но в том же mef импорт моделей-представлений осуществлялся без проблем.
upd.
в общем я понадеялся конечно на встроенный провайдер. решил следующим образом. зарегистрировал отдельно ViewModel
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterSingleton(typeof(vm1));
}
и привязал ее отдельно в конфигураторе ViewModelLocationProvider
protected override void ConfigureViewModelLocator()
{
base.ConfigureViewModelLocator();
ViewModelLocationProvider.Register<v1>(()=> Container.Resolve<vm1>());
}
в этом случае эта модель-представления прекрасно разрешается в другой модели-представлении. Не знаю только, гламурный ли это подход. Что подскажите, коллеги?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Задача: получить данные из БД-MySql в ObservableCollection и затем передать в DataGrid
я создавал уже некоторую отчётность на одном листе(как в этом примере https://docsmicrosoft