如何获得元素的绝对位置?

MBZ*_*MBZ 14 c# microsoft-metro windows-8

假设一些简单的东西:

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

    <TextBlock Name="MainTextBlock" Grid.Column="1" Text="Hello" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得绝对的位置MainTextBlock

Jef*_*and 51

我认为这会奏效......

var ttv = MainTextBlock.TransformToVisual(Window.Current.Content);
Point screenCoords = ttv.TransformPoint(new Point(0, 0));
Run Code Online (Sandbox Code Playgroud)