演练:使用 XAML 在 Windows Presentation Foundation 中承载 Windows 窗体控件
更新:2007 年 11 月
WPF 提供了许多具有丰富功能集的控件。但是,您有时可能希望在 WPF 页上使用 Windows 窗体控件。例如,您可能需要对现有 Windows 窗体控件进行大量投资,或者您有一个提供唯一功能的 Windows 窗体控件。
本演练向您演示如何使用 XAML 在 WPF 页中承载 Windows 窗体 System.Windows.Forms.MaskedTextBox 控件。
有关本演练中演示的任务的完整代码清单,请参见使用 XAML 在 Windows Presentation Foundation 中承载 Windows 窗体控件的示例。
注意 显示的对话框和菜单命令可能与“帮助”中所述的有所不同,具体取决于当前的设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。
先决条件
您需要以下组件来完成本演练:
- Visual Studio 2008.
承载 Windows 窗体控件
承载 MaskedTextBox 控件
创建名为 HostingWfInWpf 的 WPF 应用程序项目。
在解决方案资源管理器中,添加一个对名为 WindowsFormsIntegration.dll 的 WindowsFormsIntegration 程序集的引用。
在解决方案资源管理器中,添加一个对名为 System.Windows.Forms.dll 的 Windows 窗体程序集的引用。
在 WPF 设计器中打开 Window1.xaml。
用下例中的代码替换 Window1.xaml 中的代码。
wf 命名空间映射建立一个对包含 Windows 窗体 控件的 DLL 的引用。MaskedTextBox 控件创建为 WindowsFormsHost 控件的子控件。
<Window x:Class="Window1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" Title="HostingWfInWpf" > <Grid> <WindowsFormsHost> <wf:MaskedTextBox x:Name="mtbDate" Mask="00/00/0000"/> </WindowsFormsHost> </Grid> </Window>
<Window x:Class="HostingWfInWpf.Window1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" Title="HostingWfInWpf" > <Grid> <WindowsFormsHost> <wf:MaskedTextBox x:Name="mtbDate" Mask="00/00/0000"/> </WindowsFormsHost> </Grid> </Window>
请参见
任务
演练:在 Windows Presentation Foundation 中承载 Windows 窗体控件
使用 XAML 在 Windows Presentation Foundation 中承载 Windows 窗体控件的示例
概念
演练:在 Windows Presentation Foundation 中承载 Windows 窗体复合控件
演练:在 Windows 窗体中承载 Windows Presentation Foundation 控件