我有一个StackPanel
有N个孩子。我想获得孩子相对于父母StackPanel
的x,y坐标。如何确定堆叠面板内物品的坐标?
StackPanel
中的孩子水平居中,所以无论何时StackPanel
调整大小,孩子都居中。下面是我在做什么让孩子项目相对的的左上角为StackPanel
:
Dim parent = VisualTreeHelper.GetParent(childItem)
childItem.TranslatePoint(VisualTreeHelper.GetDescendantBounds(childItem).TopLeft, parent)
让我们在初始布局说,它给我的回复是点(20,0)。现在布局发生了变化,StackPanel
也在扩大,但孩子们仍然居中。我希望现在这种方法能够给我一些像(150,0)的东西,但它仍然给我(20,0)。在视觉上,我可以看到这些物品位于StackPanel
的中心,但它仍然给我初始坐标。我究竟做错了什么?
我改变了代码,使其更难以比拟(我希望)。我得到父容器,然后将孩子的范围翻译成父母的容器 – Micah 2009-08-07 18:44:26