2009-08-17 133 views
13

有沒有辦法在另一個WPF窗口內託管一個WPF窗口。我有幾個有點複雜的表格。但現在爲了簡化事情,我試圖將其中的一些作爲一個「Dashboard」表單中的tabpages進行合併。在另一個wpf窗口內部有一個wpf窗口

請注意,我並不想舉辦一個Windows窗體,但另一個WPF窗口

回答

11

如果你想要tabpages,爲什麼不在內部使用帶UserControls的TabControl?如果您需要將其中一個選項卡轉換爲浮動窗口,只需將UserControl置於一個新窗口中...

+0

我已經在使用TabControl。但不是託管一個UserControl,我想託管一個已經存在的窗口。那可能嗎? – 2009-08-17 15:55:43

+0

不,它不是...你必須改變你的窗口到一個UserControl – 2009-08-17 16:38:36

3

我可以回答另一個問題,這個問題;你爲什麼不創建它們作爲控件而不是其他WPF窗口,你想要在主WPF窗口中託管?

+2

我想這是因爲他想利用默認的窗口行爲(標題欄移動它,關閉/最小/最大按鈕...) – 2009-08-17 13:11:04

+0

不是真的托馬斯。我不在乎有沒有這些東西。是否有可能將現有的窗口轉換爲用戶控件?我真正想要做的是節省時間,並使用現有的Windows已經運行(並在生產中已經過測試)在一個新的「主」窗口。現有的每個窗口都將成爲此「主」窗口中的一個選項卡,而不是一個單獨的窗口。 – 2009-08-17 15:57:32

0

我認爲您要求的是MDI,多文檔界面。像this可能會有所幫助。

但是,請注意,MDI範式在很大程度上已經在很大程度上避開了這些日子。通常有更好的方法來實現相同的功能。

+0

酷...但是子窗口的鉻是相當醜陋;) – 2009-08-17 13:21:05

+0

MDI是sooo 1995;) – Thorsten79 2010-01-24 16:23:37

0

我想你想在另一個WPF窗口內部託管WPF Window1.xaml(page1.xaml)的內容。

那麼...你可以使用導航。而是在標籤內運行window1.xaml內容,然後您可以使用導航中的數據。導航可以在WPF窗口應用程序中運行。您只需在page1.xaml中設計您的表單/ UI。

彼此..MDI老,生鏽。我們現在想清除頂窗。

1

有點晚了這一點,但我想用WindowsForms互操作,你可以在WPF把一個WinForms控制主機和主機放在承載一個WPF窗口的句柄一個WinForms控制

+0

>主機的WPF窗口的句柄 任何闡述? – Edza 2015-05-19 18:47:50

+0

您可以根據我記得包裝窗口句柄來製作WinForms控件。因此,既然你可以獲得WPF窗口的窗口句柄,你可以用WinForms控件包裝它,我相信。然後,因爲WPF可以通過互操作層來託管WinForms控件(反之亦然,我記得),您可以將該WPF窗口的WinForms包裝器放入另一個WPF窗口 – 2015-06-13 20:27:35

+0

btw,我會讓它們從UserControl繼承相反,這是更通用的(例如,可以有託管該用戶控件的Windows,也可以具有帶有選項卡式視圖的另一個佈局,該視圖在每個選項卡上託管這些UserControl之一) – 2015-06-13 20:29:37