2013-10-07 61 views
0

我有一個應用程序與各種模塊。在註冊區域的新窗口打開棱鏡模塊

我已將主殼(xaml)分爲不同的區域,現在我可以在這些區域中加載模塊。

但我有要求在點擊某個按鈕我必須打開一個新窗口,然後在新窗口中加載一個新模塊。

我創建了一個新窗口,我正在打開該窗口,但該窗口有一個區域,主應用程序的區域管理器無法識別。

如何在不在主窗口但在子窗口上的區域加載模塊?

+0

我不確定你的意思。如果你有一個很好的小型工作示例代碼。否則,請查看來自Microsoft的此示例。 https://code.msdn.microsoft.com/windowsdesktop/WPF-Child-Window-with-MVVM-f8e32d3e –

回答

2

您可以找到您的問題在下面SkyDrive的公共文件夾 「RegionInChildWindowWithNavigation」 快速樣品溶液:

根據我的理解,這個問題你提到將涉及在設置RegionManager財產ChildWindow查看導致定義的ModalWindowRegion可從RegionManager到達。以上是來自上述示例的視圖構造函數的ModalDialogChildWindow。請注意,它還添加了一個事件處理程序,以便在關閉時正確刪除所有視圖中的子視窗。

[ImportingConstructor] 
public ModalDialog(IRegionManager rm) 
{ 
    this.rm = rm; 
    this.SetValue(RegionManager.RegionManagerProperty, rm); 
    InitializeComponent(); 
    this.Closed += new EventHandler(WindowsView_Closed); 
} 

void WindowsView_Closed(object sender, EventArgs e) 
{ 
     while (rm.Regions["ModalWindowRegion"].Views.Count() > 0) 
     { 
      rm.Regions["ModalWindowRegion"].Remove(rm.Regions["ModalWindowRegion"].Views.FirstOrDefault()); 
     } 
} 

然後,你只需要RequestNavigate()到指定地區這是在ChildWindow視圖定義從RegionManager如下:

ModalDialogWindow.Show(); 
rm.RequestNavigate("ModalWindowRegion", new Uri("HelloWorldView", UriKind.Relative)); 

此外,你可能找到有用的以下CodePlex線程:

我希望這有助於。

+0

RegionInChildWindowWithNavigation鏈接不可用:(是否有其他來源? – John