2011-07-28 24 views
0

我是wpf應用程序中的新功能.. 我正在處理窗口application.it中有很多module.its模塊之一在wpf中與project.so分離,所以我想集成wpf應用程序到窗口應用程序項目。將wpf集成到窗口應用程序中

+0

咦? WPF應用程序已經是Windows應用程序。 – BoltClock

+0

wpf格式是在xaml.how我可以打開它在mdi form.pls告訴我的語法。感謝提前 – user644194

回答

5

你的問題還不清楚。但是,如果您嘗試在WinForms應用程序中託管WPF對象,那麼是的,這是可能的。

一個很好的教程可以找到here

+0

謝謝它的工作。 – user644194

+0

沒問題。如果你使用它,請接受這個答案。 – user807566

0

您需要在MDI應用程序和要承載的WPF組件之間添加一個interop層。這是不平凡的

1)確定你的託管代碼和本地代碼之間的邊界所在的位置。確保你明確界定,劃定和尊重這個邊界,否則你會哭泣疼痛的淚水。這將需要在任何實際場景中使用C++/CLI。

我建議創建一個名爲「Launcher」的C++/CLI ref類來充當跳板。它暴露了本機應用程序可以使用的本地API。本地應用程序提供一個指向您的MDI窗口和任何其他請求信息的指針。

2)使用WPF組件上的MDI子指針和HwndSource將您的WPF放入本機窗口。

3)通過HwndSource中的MessageHook提供從MDI-land到WPF-land的窗口消息的適當手動轉發。請注意,您將手動處理從WM_WINDOWPOSCHANGED到ID_HELP的所有內容。

祝你好運!

+0

我想知道只有steps.bcoz我無法找到它在護目鏡搜索。 – user644194

1

假設您指的是「windows應用程序」的MDI Winform。這裏是步驟:

  1. 創建一個新的孩子Winform。
  2. 添加 「WPF互操作性」 元素
  3. 添加您的WPF頁面到WPF互操作元素

這些步驟只有在工作的.NET Framework 3.0或以上,其中支持WPF。

0

您可以使用ElementHost將您的wpf控件添加到Windows窗體。將ElementHost控件添加到Windows窗體並將您的wpf控件設置爲ElementHost子屬性。

你可以找到更多的細節在這裏
MSDN

ElementHost

相關問題