演练:在 WPF 应用程序中承载 Windows 窗体控件

本演练向您演示如何使用 适用于 Visual Studio 的 WPF 设计器在 WPF 应用程序中承载 Windows 窗体控件。 有关 Windows 窗体和 WPF 互操作性的更多信息,请参见迁移和互操作性

本演练中阐释的任务包括:

  • 创建项目。

  • 在 WPF 应用程序中承载 Windows 窗体控件。

提示

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置

系统必备

您需要以下组件来完成本演练:

  • Visual Studio 2010.

创建项目

第一步是为宿主应用程序创建项目。

创建项目

  1. 创建一个名为“DemoApplication”的 WPF 应用程序项目。 有关更多信息,请参见如何:创建新的 WPF 应用程序项目

    MainWindow.xaml 将在 WPF 设计器中打开。

  2. 在**“解决方案资源管理器”**中,添加一个对名为 WindowsFormsIntegration.dll 的 WindowsFormsIntegration 程序集的引用。

  3. 在**“解决方案资源管理器”**中,添加一个对名为 System.Windows.Forms.dll 的 Windows 窗体程序集的引用。

在 WPF 中承载 Windows 窗体控件

可以使用 WindowsFormsHost 元素在 WPF 应用程序中承载 Windows 窗体控件。

在 WPF 中承载 Windows 窗体控件

  1. 在 MainWindow.xaml 的 XAML 视图中,通过在 Window 开始标记中插入以下命名空间映射来导入 Windows 窗体命名空间。 有关更多信息,请参见如何:将命名空间导入 XAML

    xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
    
  2. Grid 开始标记后面插入以下代码。

    <WindowsFormsHost>
        <wf:MaskedTextBox Mask="00/00/0000" />
    </WindowsFormsHost>
    

    表示所承载的 Windows 窗体控件 (MaskedTextBox) 的区域将显示在设计器中。

后续步骤

还可以在 Windows 窗体中承载 WPF 控件。 有关更多信息,请参见使用 WPF 控件

请参见

任务

演练:使用 WPF 设计器承载 Windows 窗体用户控件

演练:在 WPF 中承载 Windows 窗体控件

参考

WindowsFormsHost

ElementHost

其他资源

使用 WPF 设计器中的控件

迁移和互操作性