2010-07-26 2 views
0

Я новичок в мире Призмы WPF, задаю один простой вопрос.WPF Prism Обновление ViewModel

Я зарегистрировал мой взгляд и ViewModel в методе модуль Initialise, как показано ниже

 var navigatorView = new NavigationMenu.View.NavigationBarView(); 
     navigatorView.DataContext = m_Container.Resolve<NavigationMenuViewModel>(); 
     var regionManager = m_Container.Resolve<IRegionManager>();    
     regionManager.Regions[RegionNames.NavigationMenuRegion].Add(navigatorView); 

Теперь, если я хочу изменить мои ViewModel, то единственный путь я могу сделать это только через ViewModel класс, является там любой другой способ, где я могу обновить объект viewmodel, зарегистрированный в контейнере единства. Также я хотел бы знать, как я могу получить экземпляр объекта, зарегистрированный в контейнере единства.

Спасибо и наилучшие пожелания, Гарри

+0

Можете ли вы подробнее объяснить, что вы подразумеваете под «изменить мою ViewModel»? Можете ли вы привести конкретный пример того, что вы пытаетесь выполнить? Это немного расплывчато. –

ответ

0

Любые из вашей виртуальной машины или модулей должны иметь что-Initialize метод, который получает эти контейнеровозы, RegionManager и eventaggregator объектов передаются через параметры. Во-первых (например, ваш загрузчик) вы помещаете их в эти контейнеры. Для этого используется такой метод, как RegisterType. Затем вы можете получить эти объекты с помощью метода Resolve, как и в примере кода.

Это означает, что везде, где вы хотите манипулировать определенной виртуальной машиной, вы используете Resolve для получения этой виртуальной машины. Я, вероятно, не понял ваш вопрос правильно. Поэтому, пожалуйста, объясните немного дальше или будьте более конкретными, где у вас проблемы.

Смежные вопросы