欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > windows >内容正文

windows

演练:在 Windows 窗体中承载 Windows Presentation Foundation 复合控件 【转载】

发布时间:2024/4/14 windows 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 演练:在 Windows 窗体中承载 Windows Presentation Foundation 复合控件 【转载】 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

http://msdn.microsoft.com/zh-cn/library/ms745781.aspx

更新:2007 年 11 月

本演练演示如何创建 WPF 复合控件,并通过使用 ElementHost 控件在 Windows 窗体控件和窗体中承载它。

在本演练中,将实现一个包含两个子控件的 WPFUserControl。 UserControl 显示一个三维 (3-D) 圆锥。使用 WPF 呈现三维对象比使用 Windows 窗体更简单。因此,对于在 Windows 窗体中创建三维图形,承载 WPFUserControl 类非常有意义。

本演练涉及以下任务:

  • 创建 WPFUserControl。

  • 创建 Windows 窗体宿主项目。

  • 承载 WPFUserControl。

有关本演练中所阐释任务的完整代码清单,请参见在 Windows 窗体中承载 Windows Presentation Foundation 复合控件的示例。

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

先决条件

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

  • Visual Studio 2008.

创建 UserControl

创建 UserControl
  • 创建一个名为 HostingWpfUserControlInWf 的 WPF 用户控件库项目。

  • 在 WPF 设计器中打开 UserControl1.xaml。

  • 用下面的代码替换生成的代码。

    该代码定义一个包含两个子控件的 System.Windows.Controls.UserControl。第一个子控件是 System.Windows.Controls.Label 控件;第二个控件是显示三维圆锥的 Viewport3D 控件。

  • 创建 Windows 窗体宿主项目

    创建宿主项目
  • 将名为 WpfUserControlHost 的 Windows 应用程序项目添加到解决方案中。有关更多信息,请参见“添加新项目”对话框。

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

  • 添加对以下 WPF 程序集的引用:

    • PresentationCore

    • PresentationFramework

    • WindowsBase

  • 添加对 HostingWpfUserControlInWf 项目的引用。

  • 在解决方案资源管理器中,将 WpfUserControlHost 项目设置为启动项目。

  • 承载 Windows Presentation Foundation UserControl

    承载 UserControl
  • 在 Windows 窗体设计器中打开 Form1。

  • 在“属性”窗口中,单击“事件”,然后双击 Load 事件以创建事件处理程序。

    代码编辑器打开并定位到新生成的 Form1_Load 事件处理程序。

  • 将 Form1.cs 中的代码替换为以下代码。

    Form1_Load 事件处理程序将创建一个 UserControl1 实例,并将其添加到ElementHost 控件的子控件集合中。ElementHost 控件将被添加到窗体的子控件集合中。

    Visual Basic

    Imports System Imports System.Collections.Generic Imports System.ComponentModel Imports System.Data Imports System.Drawing Imports System.Text Imports System.Windows.FormsImports System.Windows.Forms.IntegrationPublic Class Form1Inherits FormPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load' Create the ElementHost control for hosting the' WPF UserControl.

    Dim host As New ElementHost()

    host.Dock = DockStyle.Fill' Create the WPF UserControl.Dim uc As New HostingWpfUserControlInWf.UserControl1()' Assign the WPF UserControl to the ElementHost control's' Child property.host.Child = uc' Add the ElementHost control to the form's' collection of child controls.Me.Controls.Add(host)End SubEnd Class
  • 按 F5 生成并运行该应用程序。

  • 转载于:https://www.cnblogs.com/chenxizhang/archive/2009/05/07/1451281.html

    总结

    以上是生活随笔为你收集整理的演练:在 Windows 窗体中承载 Windows Presentation Foundation 复合控件 【转载】的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。