在新窗口中打开模块

问题描述 投票:1回答:1

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

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是空的。

c# wpf prism modularity prism-6
1个回答
1
投票

假设你正在处理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>
© www.soinside.com 2019 - 2024. All rights reserved.