如何在堆栈面板中查找子元素位置。
<StackPanel Orientation="Horizontal">
<ToggleButton Width="20"
Height="20"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Visibility="Visible" />
<TextBlock Margin="5"
VerticalAlignment="Center"
FontSize="15"
Text="Selection Mode" />
</StackPanel>
如何找到切换按钮和文本块的X,Y位置?
答案 0 :(得分:2)
您总是可以使用TranslatePoint将相对于一个UIElement的坐标转换为相对于另一个UIElement的坐标:
var toggleButtonPosition = toggleButton.TranslatePoint(new Point(0, 0), stackPanel);
var textBlockPosition = textBlock.TranslatePoint(new Point(0, 0), stackPanel);
上面的代码将相对于相应控件的点(0,0)转换为相对于包含StackPanel的坐标,从而给出StackPanel内每个控件的位置。
答案 1 :(得分:1)
基本上,控制的位置由持有它的控制,边缘属性,对齐等决定。
您可以使用它来确定子控件的位置。