900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 如何在wpf中使用winform控件或者winform的自定义控件

如何在wpf中使用winform控件或者winform的自定义控件

时间:2020-04-23 13:42:46

相关推荐

如何在wpf中使用winform控件或者winform的自定义控件


前言

在wpf中使用winform控件或者winform的自定义控件


一、添加引用

WindowsFormsIntegration.dll

System.Windows.Forms.dll

提示:这两个引用都是在程序集中可以直接找到的

二、在要使用WinForm控件的WPF窗体的XAML文件中添加如下内容:

代码如下(示例)

xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"


三、在WPF中使用WinForm或自定义控件

xaml文件代码如下(示例)

<Grid Grid.Row="1"><DockPanel Name="m_panel"><WindowsFormsHost x:Name="host" Margin="0,0,0,0" /></DockPanel></Grid>

在代码中定义UserControl1 user= new UserControl1 (); 这里不要忘记添加引用。

UserControl1 是我的自定义控件

然后再将控件放入WindowsFormsHost 中,使用这句代码 : host.Child = user;


四、在WPF中使用WinForm控件

xaml文件代码如下(示例)

<Grid Grid.Row="1"><wfi:WindowsFormsHost><wf:Label x:Name="wfLabel" Text="winForm控件在此" /> </wfi:WindowsFormsHost></Grid>

补充

在WPF中使用WinForm或自定义控件,如果出现设置了控件,也没有报错,但是控件就是不显示,多半是AllowTransparent = “True”这句话出来问题,只需要将True改成False就可以了,如果一定要使用AllowTransparent = “True”,请参考下面这个方法:/article/57535.htm

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。