web-dev-qa-db-ja.com

要素の絶対位置を取得するにはどうすればよいですか?

次のような単純なものを想定します。

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="300" />
        <ColumnDefinition Width="300" />
    </Grid.ColumnDefinitions>

    <TextBlock Name="MainTextBlock" Grid.Column="1" Text="Hello" />
</Grid>

MainTextBlockの絶対位置を取得するにはどうすればよいですか?

16
MBZ

これでうまくいくと思います...

var ttv = MainTextBlock.TransformToVisual(Window.Current.Content);
Point screenCoords = ttv.TransformPoint(new Point(0, 0));
52
Jeff Brand