2

我有一个 WPF TreeView,它表示一个对象图,其中一些对象隐含地相互引用。

对于那些,当我选择其中一个时,我希望能够绘制一个链接它们的箭头:

在此处输入图像描述

我查看了Adorners,但我不确定这是正确的方法,因为我找不到获取 TreeView 中两个项目的图形位置的方法......

知道我可以在这里做什么吗?

4

1 回答 1

1

首先,您可以通过以下方式获得相对项目位置:

var myItem = (UIElement)myTreeView.SelectedItem;
var pos1 = myItem.TranslatePoint(new Point(), myTreeView);
var pos2 = myAnyOtherItem.TranslatePoint(new Point(), myTreeView);

如果您无权访问 UIElement,请查找
“从数据对象 (WPF TreeView) 获取容器”
,但这是另一个问题,我确信已经有解决方案 ^^

其次,使用装饰器是个好主意
,但我敢肯定有足够的样本^^

于 2013-05-23T17:12:21.280 回答