首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WPF 使用 TranslatePoint 换算元素之间相对坐标

在 WPF 中的布局模型里面,可以将每个元素都认为是矩形。...而每个矩形都可以将自己的左上角作为原点建立坐标,不同的矩形之间的坐标原点不相同,当这些用矩形表达的元素进行系列的旋转和平移等之后,如何将以某个元素的矩形左上角为原点的坐标换算为另一个元素的矩形左上角为原点的坐标...只要在相同的视觉树上面,所有的元素的矩形范围都能通过矩阵计算换算出来,在 WPF 和 UWP 里面都在每个元素提供了 TranslatePoint 方法,这个方法的作用就是用当前元素的左上角为原点的坐标换算为这个点在传入的元素的坐标...其实这个问题可以转换为求在矩形坐标中,点(0,0)在 Canvas 上的值是多少 因为求一个元素相对于另一个的元素的坐标,也就是求元素左上角所在另一个元素的坐标,而一个元素的左上角就是通过以元素的左上角为原点的坐标也就是点...TranslatePoint方法里面,第一个参数传入的点是相对于当前元素的左上角为原点的坐标,而第二个值就是将要转换坐标的元素。

1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    流量控制--2.传统的流量控制元素

    传统的流量控制元素 3.1 整流 整流器通过延迟报文来满足所需的传输速率。整流是一种通过延迟传输到输出队列的报文来满足期望的输出速率的机制。这是寻求带宽控制解决方案的用户面临的最常见的需求之一。...延迟报文作为流量控制解决方案的一部分,使得每种整流机制都变成了一种不会节省工作量的机制,即"为了延迟报文需要作额外的工作"。...分类可以包含对报文的标记,通常发生在单个管理控制下的网络边界,或者单独的每一跳上。...策略是流量控制的一个元素,是一种限制流量的简单机制。策略广泛运用到网络边界,用于保证对端占用的带宽不会超配额。一个策略器会以一定的速率接收流量,当超过该速率之后会执行某些动作。...流量控制的标记机制会在报文上安装一个DSCP,然后由管理域内的其他路由器使用并遵守(通常用于DiffServ)。

    84310

    学习WPF——元素绑定

    ,还可以绑定到元素的属性的属性或者存在索引器的属性 比如: MyElement.Property.OtherProperty MyElement.Property[2] 当绑定到格式不正确的元素属性上时...,WPF并不会因此而编译不通过 双向绑定比单向绑定开销更大,OneTime绑定比双向绑定和单向绑定的开销都小 尽量使用明确的绑定模式,而不要使用Default绑定模式 源属性改变,通知到目标属性后,目标属性还可以作为源属性...使用代码删除绑定 如果像通过代码删除某一个元素的绑定,可以通过下面两种方式完成 ?...使用代码检索绑定 可以使用如下方式获取一个元素的绑定对象 使用DataContext绑定 可以先对父元素设置DataContext属性,然后在子元素中就可以轻松的使用父元素设置的DataContext...所指向的对象了 修改记录 2015-1-5:完成一部分内容 参考资料 《Pro WPF 4.5 in C# 4th Edition》

    1.1K60

    WPF 设置元素为 Collapsed 是否会创建此元素

    在 WPF 的 XAML 中,如果将某个元素初始的时候设置 Visibility 为 Collapsed 的值,那么意味着这个元素将不会参与布局,就和不存在是一样的。那么这个元素是否会被创建在内存中?...是会创建的 在 WPF 中,在 XAML 里面写的元素,无论 Visibility 设置为什么,都会在内存中创建这个元素对象 测试方法是自己定义一个元素,然后在 XAML 里面写,如下面代码定义的类...{ Debugger.Break(); } } 在构造函数上添加 Debugger.Break 相当于加上一个断点 接着在 XAML 添加这个元素...,如下面代码 此时运行程序,可以看到进入 Foo 构造函数 但是此时界面上没有任何的元素,实时的视觉树也没有显示界面有任何元素...,也就是 Foo 元素只是创建出来,啥都不做 那为什么 WPF 默认行为会创建出这样的元素出来?

    1.1K20

    WPF 附加属性提供某个元素拥有拖拽窗口的功能

    我需要窗口内的某个元素拥有拖动整个窗口的功能,也就是这个元素在拖动的时候是拖动整个窗口。...而且我还开出一个有趣的方法,这个作为窗口的拖拽的元素如果是用户在元素上拖动,那么将会拖动窗口,如果用户是点击,将会触发点击事件 附加属性可以给某个元素附加有趣的功能,本文的功能需要拖动元素的时候实际上是拖动窗口...,第二个是元素是支持点击的 拖动窗口使用的是窗口的 DragMove 方法 元素支持点击用的是 WPF 给任意控件通过按下移动抬起封装点击事件 方法 因此本文需要引入 WPF 给任意控件通过按下移动抬起封装点击事件...的 InputHelper 类作为辅助 用法如下,写一个简单的界面,放一个元素作为拖动的元素 <Border x:Name="DraggingElement" Width="100" Height="...Invoke(this, EventArgs.Empty); } } 上面代码 InputHelper 需要从 WPF 给任意控件通过按下移动抬起封装点击事件 复制 通过阅读上面代码

    81120

    OxyPlot 导出图片及 WPF 元素导出为图片的方法

    OxyPlot 导出图片及 WPF 元素导出为图片的方法 目录 OxyPlot 导出图片及 WPF 元素导出为图片的方法 一、OxyPlot 自带导出方法 二、导出 WPF 界面元素的方法 三、通过附加属性来使用...经过尝试,本文记录三种方法:1、OxyPlot 自带导出方法;2、网上找的导出 WPF 界面元素的方法;3、基于方法 2 的附加属性调用方式。下面将逐一介绍。...不过也有缺点,就是如果有些元素(比如说标题、坐标轴文字)不是使用 OxyPlot 图表控件来生成的话,则导出的图片就不会包含它们了: 我在实际项目中确实遇到了这个问题,所以需要寻找其它方法,我们接着看...二、导出 WPF 界面元素的方法 首先给出能够导出任意 WPF 界面元素(FrameworkElement)为图片的方法,来源于网络,地址在方法注释中已给出,略作修改,代码如下: using System...缺点就是导出的控制有点奇怪,需要先将 IsExporting 置为 false,不然第二次就导出不了了。

    1.2K10
    领券
    首页
    学习
    活动
    专区
    圈层
    工具