在新 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>
我尝试打开一个由特殊目录解析的模块
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>