1

我想以像素为单位获取 Windows 商店应用程序页面内控件的位置。能够为任意控件执行此操作会很好,但是目前只需弄清楚如何为按钮执行此操作就可以了!

我试过查看边距,但当 Xaml 之类的机制Grid.Row="x"HorizontalAlignment="Center"在 Xaml 中使用或以编程方式设置时,它们似乎通常与实际位置无关。无论定位控件的方法是什么,我都需要这种方法。

提前致谢!

编辑:

我正在通过设置 UI 进行测试:

<Grid x:Name="grid" Style="{StaticResource LayoutRootStyle}">
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>            
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="*"/>            
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>
    <Button x:Name="test" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" Content="test"/>
</Grid>

然后修改 'Grid.Column'、'Grid.Row' 和 Alignment 特性。

4

1 回答 1

4

您可以使用变换对象获得控制位置。

<Button x:Name="btn" Content="Button" Margin="131,339,0,391" />

void BlankPage4_Loaded(object sender, RoutedEventArgs e)
{
    var trans = test.TransformToVisual(null);
    var point = trans.TransformPoint(new Windows.Foundation.Point());
}
于 2013-08-05T19:12:20.997 回答