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

WPF 提供了许多具有丰富功能集的控件。 但是,你有时可能希望在 WPF 页上使用 Windows 窗体控件。 例如,你可能已经为现有的 Windows 窗体控件花费了大量金钱,或者你的 Windows 窗体控件只能提供特殊的功能。

本演练演示如何使用 XAML 在 WPF 页面上托管Windows 窗体 System.Windows.Forms.MaskedTextBox 控件。

有关本演练中介绍的任务的完整代码列表,请参阅使用 XAML 在 WPF 中承载 Windows 窗体控件的示例

先决条件

若要完成本演练,必须具有 Visual Studio。

承载 Windows 窗体控件

承载 MaskedTextBox 控件

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

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

    • WindowsFormsIntegration

    • System.Windows.Forms

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

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

    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 生成并运行应用程序。

另请参阅