我是wpf应用程序的新手.. 我正在开发窗口应用程序。它有很多模块。其中一个模块在wpf中,它与project分离。所以我想将wpf应用程序集成到窗口应用程序项目中。
答案 0 :(得分:5)
你的问题不清楚。但是,如果您尝试在WinForms应用程序中托管WPF对象,那么是的,这是可能的。
可以找到一个好的教程here。
答案 1 :(得分:1)
假设您的意思是“Windows应用程序”的MDI Winform。以下是步骤:
这些步骤仅适用于支持WPF的.NET Framework 3.0或更高版本。
答案 2 :(得分:0)
您需要在MDI应用程序和要托管的WPF组件之间添加互操作层。这是非平凡的。
1)确定托管代码和本机代码之间的边界位置。确保你清楚地定义,描绘和尊重这个边界,否则你会痛苦地流下眼泪。这将需要在任何实际场景中使用C ++ / CLI。
我建议创建一个名为“Launcher”的C ++ / CLI ref类来充当跳板。它公开了本机应用程序可以使用的本机API。本机应用程序提供指向MDI窗口和任何其他所需信息的指针。
2)使用WPI子指针和WPF组件上的HwndSource将WPF放入本机窗口。
3)通过HwndSource中的MessageHook提供从MDI-land到WPF-land的窗口消息的适当手动转发。请注意,您将手动处理从WM_WINDOWPOSCHANGED到ID_HELP的所有内容。
祝你好运!答案 3 :(得分:0)
您可以使用ElementHost将您的wpf控件添加到Windows窗体。将ElementHost控件添加到Windows窗体并将您的wpf控件设置为ElementHost Child属性。
您可以在此处找到更多详细信息 MSDN