【问题标题】:Prism Navigation棱镜导航
【发布时间】:2013-03-17 12:44:50
【问题描述】:

我已经开始了我的第一次 Prism 试用,这就是我目前所做的:

@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 是一个自己的带有 UserControl 的 ClassProject 并且有一个菜单。我想用 menueitem 的命令在 CenterRegion 中注入一个视图,但我真的不知道怎么做。我是否还必须将 Topbar 声明为模块?

谢谢

【问题讨论】:

    标签: wpf prism


    【解决方案1】:

    这是一个简单的方法:

    @模块:

    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;
        }
    

    【讨论】:

      猜你喜欢
      • 2012-03-16
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      相关资源
      最近更新 更多