C# wpf与windows应用程序的集成

C# wpf与windows应用程序的集成,c#,wpf,windows,winforms,C#,Wpf,Windows,Winforms,我是wpf应用程序的新手。。 我正在开发窗口应用程序。它有许多模块。其中一个模块是wpf,它与项目分离。因此,我想将wpf应用程序集成到窗口应用程序项目中。您的问题不清楚。但是,如果您试图在WinForms应用程序中托管WPF对象,那么是的,这是可能的 可以找到一个很好的教程。您需要在MDI应用程序和要承载的WPF组件之间添加互操作层。这不是小事 1确定托管代码和本机代码之间的边界所在。确保你清楚地定义、描绘和尊重这一边界,否则你将痛哭流涕。这将需要在任何实际场景中使用C++/CLI 我建议创建

我是wpf应用程序的新手。。
我正在开发窗口应用程序。它有许多模块。其中一个模块是wpf,它与项目分离。因此,我想将wpf应用程序集成到窗口应用程序项目中。

您的问题不清楚。但是,如果您试图在WinForms应用程序中托管WPF对象,那么是的,这是可能的


可以找到一个很好的教程。

您需要在MDI应用程序和要承载的WPF组件之间添加互操作层。这不是小事

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的所有内容


祝你好运

假设您指的是MDI Winform for windows应用程序。以下是步骤:

创建新的子Winform。 添加WPF互操作性元素 将WPF页面添加到WPF互操作元素
这些步骤仅适用于支持WPF的.NET Framework 3.0或更高版本。

您可以使用ElementHost将WPF控件添加到windows窗体。将ElementHost控件添加到windows窗体,并将wpf控件设置为ElementHost子属性

你可以在这里找到更多细节


嗯?WPF应用程序已经是Windows应用程序。WPF表单是xaml格式。我如何以mdi格式打开它。请告诉我语法。感谢您的帮助,我只想知道步骤。bcoz我在goggle search中找不到它。