我有一个 WPF TreeView
,它表示一个对象图,其中一些对象隐含地相互引用。
对于那些,当我选择其中一个时,我希望能够绘制一个链接它们的箭头:
我查看了Adorners,但我不确定这是正确的方法,因为我找不到获取 TreeView 中两个项目的图形位置的方法......
知道我可以在这里做什么吗?
首先,您可以通过以下方式获得相对项目位置:
var myItem = (UIElement)myTreeView.SelectedItem;
var pos1 = myItem.TranslatePoint(new Point(), myTreeView);
var pos2 = myAnyOtherItem.TranslatePoint(new Point(), myTreeView);
如果您无权访问 UIElement,请查找
“从数据对象 (WPF TreeView) 获取容器”
,但这是另一个问题,我确信已经有解决方案 ^^
其次,使用装饰器是个好主意
,但我敢肯定有足够的样本^^