winfrom窗体中嵌套WPF控件

前言

本文主要介绍如何在winfrom窗体中嵌套WPF控件, 一来是自己记录一下,而来希望能对有需要的朋友提供实现思路. 如有错误请指出...下面进入正题...

-1、前期准备

  准备一个建立好的winfrom窗体, 以及一个wpf的窗口. 注意:要想在winfrom中成功调用. 你的wpf必须为用户控件类型.

也就是:UserControl

2、具体步骤

  在你的winfrom窗体设计中,打开工具箱,找到一个叫做“ElementHost”的控件,并拖入窗体, 类似于一个Panel容器. 如下图所示:

我这里设置的ElementHost控件布满整个winfrom窗体, 虚线边框就是ElementHost的虚线,布置好的winfrom窗体如下图所示:

紧接着,为了演示效果,我就随意在wpf的用户控件中拖入了一个button按钮和一个lable标签,如下图所示:

现在就差最后一步,就是怎么把这个wpf用户控件嵌套到winfrom窗体中去呢? 其实就三句代码, 如下图所示:

 private void Form1_Load(object sender, EventArgs e)
        {
            UserControl1 wpf = new UserControl1();//实例化wpf用户控件
            elementHost1.Child=wpf;//设置ElementHost所承载的WPF
            this.Controls.Add(elementHost1);//将指定的这个elementHost1控件添加到容器集合中
        }

 最后,我们来看看运行后的效果,如下图所示:

至此,winfrom中嵌套wpf控件讲解完毕. 如有啥问题请指出.

原文地址:https://www.cnblogs.com/ws1996/p/6588962.html