前言
本文主要介绍如何在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控件讲解完毕. 如有啥问题请指出.