1

我正在尝试确定代表 ListViewItem 的容器的物理坐标(特别是我对 TOP 和 BOTTOM 感兴趣)。

我通过以下方式引用了 ListViewItem:

 ListViewItem item = ((ListView)AdornedElement).ItemContainerGenerator.ContainerFromIndex(idx) as ListViewItem;
 ContentPresenter myContentPresenter = FindVisualChild<ContentPresenter>(item);   

我现在需要获取该项目并找出它的顶部和底部值相对于整个列表视图。这是为了在拖放过程中显示拖线指示器。

任何人都可以提供任何见解吗?

谢谢

4

1 回答 1

3

对于将来可能会有所帮助的人。我想通了(字面意思是在我发布之后)

    Point pointTransformToVisual = lvItem.TransformToVisual((Visual)theListView.Parent).Transform(new Point());

    Rect boundsRect = VisualTreeHelper.GetDescendantBounds(lvItem);
    boundsRect.Offset(transform.X, transform.Y);
于 2013-01-23T16:05:29.587 回答