XAML: 获取元素的位置

简介: 原文:XAML: 获取元素的位置在之前讨论 ListView 滚动相关需求的文章中(UWP: ListView 中与滚动有关的两个需求的实现)曾经提到了获取元素相对位置的方法,即某元素相对另一元素的位置。
原文: XAML: 获取元素的位置

在之前讨论 ListView 滚动相关需求的文章中(UWP: ListView 中与滚动有关的两个需求的实现)曾经提到了获取元素相对位置的方法,即某元素相对另一元素的位置。现将所有相关方法再作整理,并且包括 UWP 与 WPF 两者的实现,如下:

WPF(两种方式):

GeneralTransform generalTransform = controlB.TransformToVisual(controlA);
Point point = generalTransform.Trsnform(new Point());
Point point = controlB.TranslatePoint(new Point(), controlA);

UWP:

GeneralTransform generalTransform = controlB.TransformToVisual(controlA);
Point point = generalTransform.TrsnformPoint(new Point());

 这里需要注意的一点时,控件的 Margin 值是包括在计算结果之内的,比如 ControlB 包括 Margin 值,则其向上、向左的 Margin 值会被计算在最终结果内。

目录
相关文章
|
8月前
|
前端开发
隐藏元素
隐藏元素。
42 1
|
7月前
|
Web App开发 前端开发 JavaScript
如何隐藏一个元素的滚动条
如何隐藏一个元素的滚动条
185 0
|
JavaScript 前端开发
js 各种位置获取全解(包括元素属性、鼠标位置、滚动位置)
js 各种位置获取全解(包括元素属性、鼠标位置、滚动位置)
js 各种位置获取全解(包括元素属性、鼠标位置、滚动位置)
|
前端开发
CSS实现两个元素调换位置
CSS实现两个元素调换位置
|
C++
Qt动态添加控件并设置大小位置等属性
Qt动态添加控件并设置大小位置等属性
1050 0
|
C#
WPFの获取任意元素的位置
原文:WPFの获取任意元素的位置 如果布局在Grid中: 方法一:  //_stackPanel为子元素,_grid为父元素  Point point = _stackPanel.TranslatePoint(new Point(0, 0), (UIElement)_grid);  方法二:  /...
936 0
|
C# 前端开发
WPF如何得到一个在用户控件内部的元素的坐标位置
原文:WPF如何得到一个在用户控件内部的元素的坐标位置 例如有这样一个用户控件: 这是主窗口: ...
1438 0
|
C#
WPF获取某控件的位置,也就是偏移量
原文:WPF获取某控件的位置,也就是偏移量 此段示例在MSDN中可见。XAML代码如下:   1、如果只需要获取相对于其父级的偏移量,则可以使用以下方法: // Return the offset vector for the TextBlock object.
1507 0
|
前端开发 容器
关于html元素Css样式设置的一点心得(特别是与位置有关的,还有外边距、内边距有关的那些)
关于html元素Css样式设置的一点心得(特别是与位置有关的,还有外边距、内边距有关的那些)
128 0
关于html元素Css样式设置的一点心得(特别是与位置有关的,还有外边距、内边距有关的那些)
【Flutter】GridView 网格布局 ( GridView.count 构造函数 | crossAxisCount 参数指定每行元素个数 )
【Flutter】GridView 网格布局 ( GridView.count 构造函数 | crossAxisCount 参数指定每行元素个数 )
525 0
【Flutter】GridView 网格布局 ( GridView.count 构造函数 | crossAxisCount 参数指定每行元素个数 )

热门文章

最新文章