获取 UIElement 相对于屏幕原点所占用的矩形区域

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取 UIElement 相对于屏幕原点所占用的矩形区域相关的知识,希望对你有一定的参考价值。

原文:获取 UIElement 相对于屏幕原点所占用的矩形区域

    <Grid Background="Transparent">
        <StackPanel Margin="120 0 0 0">
            <Grid HorizontalAlignment="Left" VerticalAlignment="Top">
                <Rectangle Name="rectangle1" Width="300" Height="200" Fill="Red" />
            </Grid>
            <TextBlock Name="lblMsg" FontSize="14.667" Margin="0 10 0 0" />
        </StackPanel>
    </Grid>
            // 演示如何获取 UIElement 相对于屏幕原点所占用的矩形区域
            GeneralTransform generalTransform = rectangle1.TransformToVisual(null); // 获取 rectangle1 相对于屏幕的 GeneralTransform
            Point point = generalTransform.TransformPoint(new Point(0, 0)); // rectangle1 的原点(左上角顶点)相对于屏幕 0,0 点的位置
            Rect rect = new Rect(point, new Size(rectangle1.ActualWidth, rectangle1.ActualHeight));

            lblMsg.Text += "红色矩形相对于屏幕原点的位置:" + rect.ToString();

 

以上是关于获取 UIElement 相对于屏幕原点所占用的矩形区域的主要内容,如果未能解决你的问题,请参考以下文章

cocoscreator调是opengl

鼠标相对于屏幕的位置鼠标相对于窗口的位置和获取鼠标相对于文档的位置

获取鼠标点相对于各屏幕窗体和当前控件的位置

如何获取div相对于屏幕的坐标?

屏幕坐标跟窗口坐标的区别是啥?

如何计算相对于原点的 UITextView 第一个基线位置