MVVM学习

1:MVVMLight中通过IOC注册的服务或者是类是全局的整个工程都能访问到

2:向下的结构(viem→VM→Model)也不严格是这样

3:延迟SimpleIoc的注册

4:在Navigatedto的时候再赋值DataContext也不迟

 

5:

 MainPage需要将它自己视为一个IDialogService注册到IoC容器中。因为一次只能由一个页面显示,所以同时需要在迁移到其他页面时注销。我们在OnNavigatedTo和OnNavigatedFrom方法中做这两个操作。

Figure 10. Registering and Unregistering the IDialogService in MainPage

复制代码
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
  Messenger.Default.Register<StatusMessage>( 
    this, HandleStatusMessage); 
  
  SimpleIoc.Default.Register<IDialogService>(() => this); 
  
  base.OnNavigatedTo(e); 
} 
  
protected override void OnNavigatedFrom(NavigationEventArgs e) 
{ 
  Messenger.Default.Unregister<StatusMessage>( 
    this, HandleStatusMessage); 
  
  SimpleIoc.Default.Unregister<IDialogService>(); 
  
  base.OnNavigatedFrom(e); 
}

          

posted @ 2014-09-02 20:09  电阻起火lyt  阅读(240)  评论(0编辑  收藏  举报