棱镜导航

棱镜导航

问题描述:

我开始了我的第一次尝试用棱镜,这就是我没有完成:棱镜导航

@ Bootstrapper.cs

ModuleCatalog catalog = new ModuleCatalog(); 
catalog.AddModule(typeof(ExampleModule)); 

@ ExampleModule.cs

public void Initialize() 
     { 
      regionManager.RegisterViewWithRegion("TopBarRegion", typeof(StandardTopBar)); 
      regionManager.RegisterViewWithRegion("CenterRegion", typeof(PersonStammdatenControl)); 
      regionManager.RegisterViewWithRegion("BottomBarRegion", typeof(Bottombar)); 
     } 

StandardTopbar是一个拥有UserControland自己的ClassProject的菜单。我想用Menueitem的一个命令在CenterRegion中注入一个视图,但我真的不知道如何。我是否也必须将Topbar声明为模块?

感谢

这是一个简单的方法:

@Module:

protected override void RegierTypes() 
    { 
    base.Container.RegisterType<IMainPageViewModel, MainPageViewModel>(); 
    var viewModel = container.Resolve<IMainPageViewModel>(); 
    RegionManager.Regions[RegionNames.ContentRegion].Add(viewModel.View); 
} 

@ViewModel:

private readonly IEventAggregator eventAggregator; 
    private readonly IMainPage view; 

public MainPageViewModel(IMainPage view, 
IEventAggregator eventAggregator) : base(view) 
    { 
    this.view = view; 
    this.eventAggregator = eventAggregator; 
} 

public interface IMainPage : IView 
    { 

    } 

public interface IView 
{ 
    IViewModel ViewModel { get; set; } 
} 

public interface IViewModel 
{ 
    IView View { get; set; } 
} 

@bootstrapper:

protected override IModuleCatalog CreateModuleCatalog() 
    { 
     ModuleCatalog catalog = new ModuleCatalog(); 
     catalog.AddModule(typeof(MainModule)); 

     return catalog; 
    }