C# 在新窗口中打开模块

C# 在新窗口中打开模块,c#,wpf,prism,modularity,prism-6,C#,Wpf,Prism,Modularity,Prism 6,我试图打开一个由特殊目录解析的模块 返回新的DirectoryModuleCatalog(){ModulePath=@.\..\modules} 并希望在新的窗口中显示它 我该怎么做 我目前的做法是: public void OpenInNewWindow(string regionName) { var cc = new ContentControl(); _regionManager.RegisterViewWithRegion(regionName, () => cc

我试图打开一个由特殊目录解析的模块

返回新的DirectoryModuleCatalog(){ModulePath=@.\..\modules}

并希望在新的
窗口中显示它

我该怎么做

我目前的做法是:

public void OpenInNewWindow(string regionName)
{
    var cc = new ContentControl();
    _regionManager.RegisterViewWithRegion(regionName, () => cc);

    new Window
    {
        Content = cc
    }.Show();
}

但这似乎不起作用。我的
窗口
为空。

假设您正在处理
导航
,此行:

var cc = new ContentControl();
仅供演示。我想您应该在将内容控件分配给视图之前或在调用
RegisterViewWithRegion
之前,向内容控件添加一个区域名称,如下所示。

var contentControl = new ContentControl();
RegionManager.SetRegionName(contentControl, regionName);
var window = new Window
{
    Content = contentControl
}.Show();
RegionManager.SetRegionName
是一个附加属性,相当于:

<ContentControl regions:RegionManager.RegionName="MyRegion"></ContentControl>


我的目标只是在新窗口中加载模块。它就像一个工具库。有很多工具都有自己的视图、服务等等。在我的主程序中,我只有一个按钮“打开xyz插件”来运行这个模块。这在我的shell中非常有效(只是一个具有指定区域的内容控件)。但是我想在一个新窗口中运行模块,这是我的问题,这正是我想要的,非常感谢!很抱歉,我第一次没有正确阅读你的问题。我本应该仔细阅读你的问题,因此早些回答了你的问题。