XAML如何获取元素的位置

作者:WPInfo 时间:2023-03-16 14:24:12 

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

XAML如何获取元素的位置

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 值会被计算在最终结果内。

标签:XAML,元素,位置
0
投稿

猜你喜欢

  • 详解Java中的数组与字符串相关知识

    2023-02-10 03:31:10
  • Android控件View的文字周围添加图标

    2023-02-20 04:04:44
  • Android Studio Intent隐式启动,发短信,拨号,打电话,访问网页等实例代码

    2023-03-22 15:43:33
  • java中删除 数组中的指定元素方法

    2023-02-02 12:45:59
  • Activiti7整合Springboot使用记录

    2022-11-11 06:17:24
  • SpringBoot2.0解决Long型数据转换成json格式时丢失精度问题

    2022-10-31 16:56:24
  • 使用Stargate访问K8ssandra的过程之Springboot整合Cassandra

    2022-02-08 23:12:25
  • Android实现点击获取验证码倒计时效果

    2022-08-29 09:23:41
  • Java Socket编程(四) 重复和并发服务器

    2022-06-29 07:07:06
  • c#实现metro文件压缩解压示例

    2022-07-07 22:36:33
  • 详解Android中PopupWindow在7.0后适配的解决

    2022-12-07 11:16:59
  • c# HttpWebRequest通过代理服务器抓取网页内容应用介绍

    2023-04-04 20:10:35
  • C#多线程系列之线程的创建和生命周期

    2023-08-31 17:10:16
  • 初识MyBatis及基本配置和执行

    2021-11-12 05:53:40
  • Android中Handler引起的内存泄露问题解决办法

    2023-11-08 23:40:58
  • Java多个版本切换的几种方法

    2022-04-22 14:10:15
  • 详解java中的6种单例写法及优缺点

    2021-06-01 17:26:01
  • SpringBoot使用swagger生成api接口文档的方法详解

    2021-10-22 18:11:48
  • Java线程的调度与优先级详解

    2023-04-30 13:48:13
  • java的main方法中调用spring的service方式

    2023-03-29 00:12:16
  • asp之家 软件编程 m.aspxhome.com