您的位置:首页 > 其它

WinForm中如何使用WPF中的控件

2016-09-18 14:30 465 查看
在WinForm中可以使用WPF中的控件,或者由WPF创建的自定义控件;

步骤1:创建WinForm工程;

步骤2:在WinForm工程的解决方案资源管理器中,在刚刚创建的WinForm解决方案中新建或者添加现有的WPF用户控件工程;

步骤3:在WPF中创建自定义的控件,或者添加WPF控件到面板上;

步骤4:在WinForm面板上添加ElementHost控件(工具箱中);

步骤5:生成解决方案;

步骤6:在刚刚的ElementHost中的Child属性中添加刚刚的WPF生成的控件;

步骤7:完成。

如果在ElementHost的Child属性中添加了WPF生成的控件,编译的时候出现如下错误:

错误 1 类型“System.Windows.Markup.IComponentConnector”在未被引用的程序集中定义。必须添加对程序集“System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。 

则要在WinForm中解决方案-> 添加引用->System.Xaml,类似的错误,就添加相应的引用。

如何在winform中调用WPF用户控件里面的属性和方法呢,如图:



WinForm工程为test,WPF用户控件工程为WpfControlLibrary1。

假设我们的WpfControlLibrary1中有个方法叫wpf_fun();如果我们要在test中调用的话,则需要把WPF的控件添加到WinForm中的ElementHost中,然后再需要调用的地方写上((WpfControlLibrary1.MainControl)elementHost1.Child).wpf_fun();,其中MainControl就是你自己创建的自定义的控件的名称,这样就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  wpf winform