【发布时间】:2009-03-24 13:11:37
【问题描述】:
在我的 WPF 应用程序中,我有一个带有列表框的画布。在单击项目后,我想用另一个控件覆盖 Listboxitem。但为此,我需要 Listboxitem 在画布中的位置。 我看到了问题,因为单个 Item 不是画布的子项。只有列表框本身是。
有什么方法可以获取 ListboxItem 在画布中的相对位置或窗口内的绝对位置?
【问题讨论】:
在我的 WPF 应用程序中,我有一个带有列表框的画布。在单击项目后,我想用另一个控件覆盖 Listboxitem。但为此,我需要 Listboxitem 在画布中的位置。 我看到了问题,因为单个 Item 不是画布的子项。只有列表框本身是。
有什么方法可以获取 ListboxItem 在画布中的相对位置或窗口内的绝对位置?
【问题讨论】:
试试这个代码:
Point p = listboxItem.TranslatePoint(new Point(0.0,0.0),Window.GetWindow(listboxItem));
为了得到它相对于画布,将新点替换为画布位置。
HTH。
【讨论】:
这不是您问题的直接答案,但我想知道 WPF 的 Adorner 概念是否可以满足您的需求。
【讨论】: