我的问题如下。我有一个 Canvas,我有一个名为“Node”的类。我创建了一个节点集合,对于每个节点,我需要在画布上某个特定位置的某个形状(椭圆、三角形、字母)。
当我单击一个节点时,我需要能够返回到父节点对象并对其进行更改。
添加 MouseLeftButtonUp 侦听器然后转到 e.OriginalSource 不起作用,因为原始源是 Ellipse 类型(或其他一些 Shape),而不是 Node 类型。
我看到这个问题的两种解决方案:
1)如果有某种方法可以将数据附加到椭圆,例如节点 ID,那会很好(例如 Ellipse.AddLogicalChild 或 Ellipse.SetCurrentValue,但我不确定这是否可行或是否适合使用其中一种方法)。2) 或者,我需要 Node 派生一些 Shape 类,以便我可以直接将它添加到 Canvas.Children。
我该怎么做其中之一?或者,如果您看到其他解决方案,请告诉我。
谢谢,
安东·卡涅夫斯基