2010-07-26 6 views
0

Je suis nouveau dans le monde de Prism WPF, une question simple.WPF Prism Mise à jour ViewModel

Je me suis inscrit mon point de vue et viewmodel dans le module méthode d'initialisation comme ci-dessous

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

Maintenant, si je veux modifier mes ViewModel alors la seule façon que je suis en mesure de le faire est par classe ViewModel seulement, est il existe un autre moyen de mettre à jour l'objet viewmodel enregistré avec le conteneur unity. Aussi, je voudrais savoir comment puis-je obtenir l'instance d'objet enregistré avec le conteneur de l'unité.

Merci et salutations, Harry

+0

Pouvez-vous expliquer plus ce que vous voulez dire par "modifier mon ViewModel"? Pouvez-vous donner un exemple concret de ce que vous essayez d'accomplir? C'est un peu vague. –

Répondre

0

Tout de vos machines virtuelles ou modules devraient avoir cette Initialiser-Méthode, qui obtient les conteneurs, les objets RegionManager et EventAggregator transmis via les paramètres. En premier lieu (comme votre bootstrapper) vous les mettez dans ces conteneurs. Vous utilisez une méthode comme RegisterType pour cela. Ensuite, vous pouvez obtenir ces objets avec la méthode Resolve, comme vous l'avez fait dans votre exemple de code. Cela signifie que, partout où vous souhaitez manipuler une machine virtuelle spécifique, vous utilisez Resolve pour obtenir cette machine virtuelle. Je n'ai probablement pas bien compris votre question. Alors s'il vous plaît expliquer un peu plus loin, ou être un peu plus précis lorsque vous avez des problèmes.