0

如何在堆栈面板中查找子元素位置。

        <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 位置?

4

2 回答 2

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 内的位置。

于 2013-04-27T08:42:01.833 回答
1

基本上,控件的位置由持有它的控件、边距属性、对齐方式等决定。

您可以使用它来确定子控件的位置。

于 2013-04-27T08:20:09.160 回答