演练:在设计阶段在 Windows 窗体上创建新的 WPF 组件

本文介绍如何创建 Windows Presentation Foundation (WPF) 控件,以便在基于 Windows 窗体的应用程序中使用。

先决条件

需要 Visual Studio 才能完成本演练。

创建项目

打开 Visual Studio,并用 Visual Basic 或 Visual C# 创建一个名为 HostingWpf 的新 Windows 窗体应用(.NET Framework) 项目。

注释

托管 WPF 内容时,仅支持 C# 和 Visual Basic 项目。

创建新的 WPF 控件

创建新的 WPF 控件并将其添加到项目非常简单,就像向项目添加任何其他项一样简单。 Windows 窗体设计器适用于名为 复合控件用户控件的特定控件类型。 有关 WPF 用户控件的详细信息,请参阅 UserControl

注释

System.Windows.Controls.UserControl WPF 的类型不同于 Windows 窗体提供的用户控件类型,该类型也命名System.Windows.Forms.UserControl

创建新的 WPF 控件:

  1. 解决方案资源管理器中,向解决方案添加新的 WPF 用户控制库 (.NET Framework) 项目。 使用控件库的默认名称。 WpfControlLibrary1 默认控件名称为 UserControl1.xaml.

    添加新控件具有以下效果:

    • 添加了文件 UserControl1.xaml。

    • 添加了文件UserControl1.xaml.cs(或UserControl1.xaml.vb)。 此文件包含事件处理程序和其他功能的后台代码。

    • 添加了对 WPF 程序集的引用。

    • 文件 UserControl1.xaml 将在 Visual Studio 的 WPF 设计器中打开。

  2. 在“设计”视图中,确保已选择 UserControl1

  3. 属性 窗口中,将 WidthHeight 属性的值设置为 200

  4. 工具箱中,将 System.Windows.Controls.TextBox 控件拖到设计图面上。

  5. “属性” 窗口中,将 Text 属性的值设置为 “托管内容”。

    注释

    通常,应托管更复杂的 WPF 内容。 此处 System.Windows.Controls.TextBox 控件仅用于说明目的。

  6. 构建项目。

将 WPF 控件添加到 Windows 窗体

新的 WPF 控件已准备好可以在窗体上使用。 Windows 窗体使用 ElementHost 控件来托管 WPF 内容。

将 WPF 控件添加到 Windows 窗体:

  1. 在 Windows 窗体设计器中打开 Form1

  2. 工具箱中,找到标记为 WPFUserControlLibrary WPF 用户控件的选项卡。

  3. 将实例 UserControl1 拖到窗体上。

    • 控件 ElementHost 在窗体上自动创建,用于托管 WPF 控件。

    • 控件ElementHost命名并在elementHost1“属性”窗口中,可以看到其Child属性已设置为 UserControl1

    • 对 WPF 程序集的引用将添加到项目中。

    • elementHost1 控件具有一个智能标记面板,其中显示了可用的托管选项。

  4. ElementHost Tasks 智能标记面板中,选择 父容器中的 Dock

  5. F5 生成和运行应用程序。

后续步骤

Windows 窗体和 WPF 是不同的技术,但它们旨在进行密切互作。 若要在应用程序中提供更丰富的外观和行为,请尝试以下作:

另请参阅