我有一個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