Wpf 树视图继承关系
你好, 我试图用带有WPF的Treeview来可视化层次(Is-a)类关系,但我发现这很困难 我从网上学习了一些代码,比如 这些示例显示了(has-a)类关系,在本例中,使用WPF+Treeview+数据绑定的可视化非常清晰直观 相反,我拥有的是Wpf 树视图继承关系,wpf,inheritance,treeview,Wpf,Inheritance,Treeview,你好, 我试图用带有WPF的Treeview来可视化层次(Is-a)类关系,但我发现这很困难 我从网上学习了一些代码,比如 这些示例显示了(has-a)类关系,在本例中,使用WPF+Treeview+数据绑定的可视化非常清晰直观 相反,我拥有的是 公共类设备(){} 公共类VisionDevice():设备{} 公共类CommunicationDevice():设备{} 公共类SerialComm():通信设备{} 公共类网络摄像头:VisionDevice{} 我想设想一
公共类设备(){}
公共类VisionDevice():设备{}
公共类CommunicationDevice():设备{}
公共类SerialComm():通信设备{}
公共类网络摄像头:VisionDevice{}
我想设想一个WPF树视图结构
Device
VisionDevice
WebCam
CommunicationDevice
SerialComm
装置
视觉设备
网络摄像头
通信设备
串行通信
使用HierarchycalDataTemplate可以做到这一点,但我发现的解决方案不是很优雅
总之:Treeviews有助于建立一种阶级关系,但很难适应一种阶级关系。你同意吗
总之:Treeviews有利于
有阶级关系但很难相处
适应is-a关系。你…吗
同意吗
是的,树视图适用于知道根并从根连接到所有子对象的结构(例如,一个对象知道其属性,而这些属性反过来又是行为相同的对象),对于类型,它是非常有问题的,因为traveral是另一种方式,超类型不知道它的子类型,但子类型知道它们的超类型(不像对象很少引用其父对象)
要可视化类型,首先需要收集所有的叶子,并在根目录下检查哪些类型有共同的分支,直到找到目标超类型。不是很优雅
(或者,您可以从根目录开始,每次都查询所有类型,以查看它们的直接父目录是否是您当前正在查看的类型,性能应该更差)
总之:Treeviews有利于
有阶级关系但很难相处
适应is-a关系。你…吗
同意吗
是的,树视图适用于知道根并从根连接到所有子对象的结构(例如,一个对象知道其属性,而这些属性反过来又是行为相同的对象),对于类型,它是非常有问题的,因为traveral是另一种方式,超类型不知道它的子类型,但子类型知道它们的超类型(不像对象很少引用其父对象)
要可视化类型,首先需要收集所有的叶子,并在根目录下检查哪些类型有共同的分支,直到找到目标超类型。不是很优雅
(或者,您可以从根目录开始,每次都查询所有类型,以查看它们的直接父目录是否是您当前正在查看的类型,就性能而言,应该更差)让我们看看您的解决方案。我有个主意,但我不知道是否足够好。让我们看看你的解决方案。我有个主意,但我不知道这是否足够好。