使用 Prism.DryIoc 8 尝试使用 RadWindow 时出现问题

问题描述

我在让 Telerik radwindow 将模块添加到我的模块目录时遇到问题。要加载 radwindow,我必须重写 Prism CreateShell 方法以返回 null。

    protected override Window CreateShell()
    {
        //We must return null to override Window type.
        //return Container.Resolve<ShellWindow>();
        return null;
    }

然后我处理 OnInitialized 方法中的所有初始化。

    protected override void OnInitialized()
    {
        ShellWindow2 shellWindow = Container.Resolve<ShellWindow2>();
        shellWindow.Show();
        MainWindow = shellWindow.ParentOfType<Window>();

        RegionManager.SetRegionManager(MainWindow,Container.Resolve<IRegionManager>());
        RegionManager.UpdateRegions();

        InitializeModules();

        base.OnInitialized();
    }

我的问题是当我尝试将模块添加到我的模块目录时出现错误:区域管理器不包含 MyRegion 区域。

    protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog)
    {
        moduleCatalog.AddModule<SecurityModule>();
    }

我认为问题是模块试图在 OnInitialized 方法中初始化 RegionManager 之前映射到区域。

RegionManager 设置好后如何让AddModule 方法初始化?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)