在新 window 中打开模块

Open module in new window

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

return new DirectoryModuleCatalog() { ModulePath = @"..\..\modules" };

并想在新的 Window 中展示它。

我该怎么做?

我目前的方法:

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

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

但这似乎行不通。我的 Window 是空的。

假设您正在处理 navigation 和这一行:

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>