在WPF中使用WinForms控件Treeview并进行操作

在WPF中使用WinForms控件Treeview并进行操作

问题

这是一门结课作业的其中一个内容,要使用WPF对树视图控件Treeview进行操作。但真正使用过后才发现,WPF的Treeview控件根本不是人用的,至少我用不来。然后我就想着去在WPF中使用WinForms中的Treeview控件,因为之前我已经在WinForms中实现过了这个项目,接下来就是方法。

添加引用

在WPF中使用WinForms肯定是需要添加一些源文件的,在这里我们直接点开VS项目中的添加引用。在WPF中使用WinForms控件Treeview并进行操作
然后在打开的页面中在WPF中使用WinForms控件Treeview并进行操作
将这三行勾选(也有可能只需要勾其中之一或其他,但为了保险我选择了全勾。)
这个时候我们就可以使用WinForms中的控件了。

添加控件

我们在添加控件的时候,由于是WPF引用的WinForms的控件,所以需要先再xmlns里面加上这两行代码在WPF中使用WinForms控件Treeview并进行操作

然后控件定义如下。在WPF中使用WinForms控件Treeview并进行操作
然后现在被创建的控件默认是左右顶框,就是你只能调整控件的高度,不能调整宽度。所以我们需要像平常使用WPF控件一样,对这个控件的属性进行定义,但不是在wf这一行里面,而是在wfi这一行里面。在WPF中使用WinForms控件Treeview并进行操作
然后再去添加其他的控件,自己调整一下位置即可。

代码方面

首先我们需要在xaml.cs文件中的using里面添加对System.Windows.Forms的引用,这样才能通过代码对你的WinForms控件进行操作。剩下的操作就与WinForms相差不多,唯一区别的就是在引用添加这行using内容后,不能直接使用Application里面的Close函数了。需要将Application引用自哪也写明。

结语

后人铺路,WPF的树视图控件确实不是人用的。

结果

在WPF中使用WinForms控件Treeview并进行操作

在WPF中使用WinForms控件Treeview并进行操作
在WPF中使用WinForms控件Treeview并进行操作
在WPF中使用WinForms控件Treeview并进行操作