WPF .net5.0和.netframework使用Winform控件

   这里记录下WPF使用Winform控件的方法,其中WPF分为.netframework版本WPF和.net5.0版本WPF,分别介绍两种版本使用winform控件的方法

1.NetFrameWork版本WPF使用Winform控件

引入 WindowsFormsIntegration.dllSystem.Windows.Forms.dll
这两个库
WPF .net5.0和.netframework使用Winform控件_第1张图片
然后在主窗体的.XAML文件中引入这两个程序的命名空间
WPF .net5.0和.netframework使用Winform控件_第2张图片
这里的WindowsFormsHost相当于是winform控件的载体容器,对于winform中自定义的控件,先引入自定义的程序集.dll文件,再引入命名空间.,然后把自定义的控件放入到WindowsFormsHos承载容器中就可以了
比如我这里加入的自定义的Imager控件,直接引入程序集,再引入命名空间
WPF .net5.0和.netframework使用Winform控件_第3张图片

2.Net5.0版本WPF使用Winform控件

我们也想像上述一样操作,但关键是.net5.0里面是没有程序集的那个选项.同时添加COM方法也不行.这里介绍一个可行的方法
WPF .net5.0和.netframework使用Winform控件_第4张图片把之前4.8版本中的WindowsFormsIntegration.dll(这个默认位置在电脑上的C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.8下面) 拷贝到工程文件的目录下,然后经过浏览选项添加进来
WPF .net5.0和.netframework使用Winform控件_第5张图片
不需要拷贝System.Windows.Forms.dll这个程序集的,.net5.0的WPF版本有带的,而且会发现加不进来这个程序集. 接下来的方法和.NetFrameWork的方法是一样的,这里就不多介绍了.

你可能感兴趣的:(WPF,c#,wpf)