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

更新:2010 年 8 月

WPF 提供了许多具有丰富功能集的控件。 但是,您有时可能希望在 WPF 页上使用 Windows Forms控件。 例如,您可能需要对现有 Windows Forms控件进行大量投资,或者您有一个提供唯一功能的 Windows Forms控件。

本演练向您演示如何使用 XAML 在 WPF 页中承载 Windows 窗体 System.Windows.Forms.MaskedTextBox 控件。

有关本演练中所演示任务的完整代码清单,请参见 Hosting a Windows Forms Control in WPF by Using XAML Sample(使用 XAML 在 WPF 中承载 Windows 窗体控件)。

系统必备

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

  • Visual Studio 2010.

承载 Windows 窗体控件

承载 MaskedTextBox 控件

  1. 创建名为 HostingWfInWpfWithXaml 的 WPF 应用程序项目。

  2. 添加对下列程序集的引用。

    • WindowsFormsIntegration

    • System.Windows.Forms

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

  4. Window 元素中,添加以下命名空间映射。 wf 命名空间映射建立一个针对包含 Windows Forms控件的程序集的引用。

    xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
    
  5. Grid 元素中添加下面的 XAML。

    MaskedTextBox 控件创建为 WindowsFormsHost 控件的子控件。

        <Grid>
    
            <WindowsFormsHost>
                <wf:MaskedTextBox x:Name="mtbDate" Mask="00/00/0000"/>
            </WindowsFormsHost>
    
        </Grid>
    
    
  6. 按 F5 生成并运行该应用程序。

请参见

任务

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

参考

ElementHost

WindowsFormsHost

概念

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

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

Windows 窗体控件和等效的 WPF 控件

其他资源

WPF 设计器

Hosting a Windows Forms Control in WPF by Using XAML Sample

修订记录

日期

修订记录

原因

2010 年 8 月

针对 Visual Studio 2010 进行了更新。

客户反馈