Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 树视图继承关系_Wpf_Inheritance_Treeview - Fatal编程技术网

Wpf 树视图继承关系

Wpf 树视图继承关系,wpf,inheritance,treeview,Wpf,Inheritance,Treeview,你好, 我试图用带有WPF的Treeview来可视化层次(Is-a)类关系,但我发现这很困难 我从网上学习了一些代码,比如 这些示例显示了(has-a)类关系,在本例中,使用WPF+Treeview+数据绑定的可视化非常清晰直观 相反,我拥有的是 公共类设备(){} 公共类VisionDevice():设备{} 公共类CommunicationDevice():设备{} 公共类SerialComm():通信设备{} 公共类网络摄像头:VisionDevice{} 我想设想一

你好, 我试图用带有WPF的Treeview来可视化层次(Is-a)类关系,但我发现这很困难

我从网上学习了一些代码,比如

这些示例显示了(has-a)类关系,在本例中,使用WPF+Treeview+数据绑定的可视化非常清晰直观

相反,我拥有的是

公共类设备(){}


公共类VisionDevice():设备{}


公共类CommunicationDevice():设备{}


公共类SerialComm():通信设备{}


公共类网络摄像头:VisionDevice{}

我想设想一个WPF树视图结构

Device VisionDevice WebCam CommunicationDevice SerialComm 装置 视觉设备 网络摄像头 通信设备 串行通信 使用HierarchycalDataTemplate可以做到这一点,但我发现的解决方案不是很优雅

总之:Treeviews有助于建立一种阶级关系,但很难适应一种阶级关系。你同意吗

总之:Treeviews有利于 有阶级关系但很难相处 适应is-a关系。你…吗 同意吗

是的,树视图适用于知道根并从根连接到所有子对象的结构(例如,一个对象知道其属性,而这些属性反过来又是行为相同的对象),对于类型,它是非常有问题的,因为traveral是另一种方式,超类型不知道它的子类型,但子类型知道它们的超类型(不像对象很少引用其父对象)

要可视化类型,首先需要收集所有的叶子,并在根目录下检查哪些类型有共同的分支,直到找到目标超类型。不是很优雅

(或者,您可以从根目录开始,每次都查询所有类型,以查看它们的直接父目录是否是您当前正在查看的类型,性能应该更差)

总之:Treeviews有利于 有阶级关系但很难相处 适应is-a关系。你…吗 同意吗

是的,树视图适用于知道根并从根连接到所有子对象的结构(例如,一个对象知道其属性,而这些属性反过来又是行为相同的对象),对于类型,它是非常有问题的,因为traveral是另一种方式,超类型不知道它的子类型,但子类型知道它们的超类型(不像对象很少引用其父对象)

要可视化类型,首先需要收集所有的叶子,并在根目录下检查哪些类型有共同的分支,直到找到目标超类型。不是很优雅


(或者,您可以从根目录开始,每次都查询所有类型,以查看它们的直接父目录是否是您当前正在查看的类型,就性能而言,应该更差)

让我们看看您的解决方案。我有个主意,但我不知道是否足够好。让我们看看你的解决方案。我有个主意,但我不知道这是否足够好。