XAML: 获取元素的位置

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

原文地址:https://www.cnblogs.com/lonelyxmas/p/8443629.html

时间: 2024-10-08 11:21:33

XAML: 获取元素的位置的相关文章

获取元素的位置-Revit二次开发3

Element.Location属性用来获取元素的位置,Location可以转化为LocationPoint和LocationCurve,如何这个元素是点,则转化为LocationPoint,如果是直线或者曲线则转化为LocationCurve Wall w = new Wall(); Curve c=(w.Location as LocationCurve).Curve; Opening o = new Opening(); XYZ p = (o.Location as LocationPoi

Jquery获取元素的位置

$(".curr_play").position().left //元素距离父级元素左侧位置 $(".curr_play").offset().left //元素距离浏览器左侧位置

前端获取元素定位位置的法宝

在前端开发中,我们经常需要定位一个元素.如tooltip.popover或者modal等,或许是我们需要将它们定位在依赖元素的周围或屏幕滚动屏幕中心位置.这对于前端开发的码农来说并不是难事.算出和依赖元素的offset,设置元素的left.right.对于稍复杂的场景我们可能需要考虑被positioned的祖先元素. 但往往不是所有的事情都是这么简单的.笔者最新在项目开发中就遇见这样一个问题:这里的HTML是嵌入的,其来自jpedal商业软件从PDF文件自动生成的:为了展示的样式,jpedal统

JavaScript 获取元素样式属性以及兼容代码封装

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> * { margin: 0; padding: 0; } div { width: 300px; height: 200px; background-color: pink; left: 100px; } <

js 获取元素坐标 和鼠标点击坐标

js 获取元素的位置 var odiv=document.getElementById('divid'); alert(odiv.getBoundingClientRect().left); alert(odiv.getBoundingClientRect().top); js 获取点击时间鼠标坐标 event = event||window.event; //获得相对于body定位的横标值: x=event.clientX //获得相对于body定位的纵标值: y=event.clientY

javascript 获取元素相对于浏览器的位置 ie 5,6,7,8,9,10 测试通过

//获取元素相对于浏览器的位置 getPosition: function (el) { _x = 0, _y = 0; while (true) { //todo 由于 获取td tr的offsetTop 值都是一样 所以要过滤处理 if (el.tagName == "TR") { el = el.parentNode; continue; } _x += el.offsetLeft; _y += el.offsetTop; if (el.tagName == 'BODY') br

获取元素样式对象 页面滚出 页面可是大小 添加监听事件 获取事件参数浏览器中位置 的兼容

/** * 获取浏览滚动出去的距离 * @returns {{scrollY: (Number|number), scrollX: (Number|number)}} */function scroll(){ return{ scrollY:window.scrollY||document.body.scrollTop||document.documentElement.scrollTop||0, scrollX:window.scrollX||document.body.scrollLeft|

用Javascript获取页面元素的位置

制作网页的过程中,你有时候需要知道某个元素在网页上的确切位置. 下面的教程总结了Javascript在网页定位方面的相关知识. 一.网页的大小和浏览器窗口的大小 首先,要明确两个基本概念. 一张网页的全部面积,就是它的大小.通常情况下,网页的大小由内容和CSS样式表决定. 浏览器窗口的大小,则是指在浏览器窗口中看到的那部分网页面积,又叫做viewport(视口). 很显然,如果网页的内容能够在浏览器窗口中全部显示(也就是不出现滚动条),那么网页的大小和浏览器窗口的大小是相等的.如果不能全部显示,

[转载]用Javascript获取页面元素的位置

原文地址:http://www.ruanyifeng.com/blog/2009/09/find_element_s_position_using_javascript.html 制作网页的过程中,你有时候需要知道某个元素在网页上的确切位置. 下面的教程总结了Javascript在网页定位方面的相关知识. 一.网页的大小和浏览器窗口的大小 首先,要明确两个基本概念. 一张网页的全部面积,就是它的大小.通常情况下,网页的大小由内容和CSS样式表决定. 浏览器窗口的大小,则是指在浏览器窗口中看到的那