【WPF】总结窗口和控件拖拽的实现
2021-06-05 23:04
标签:问题: system html https 帮助 .com 关键词 block 通过 Window, UserControls, drag, Thumb http://www.cnblogs.com/DebugLZQ/archive/2013/05/07/3062733.html 这篇文章的介绍非常全面,基本覆盖了所有拖动方法。值得学习参考。 1. 窗口的拖拽 我们知道,鼠标放在窗口的标题栏上按下就可以拖动窗体。我们要实现在窗口的全部地方或特定地方按下鼠标左键实现拖动。 【推荐】 使用 DragMove()方法,可以完全胜任。详细实现方法 ?其它:1. 自定义标题栏,使用WindowChrome ??适用于无边框自定义窗体,又不想去实现双击全屏,标题栏右键菜单的情况。简称比较懒得情况。(个人感觉使用起来感觉可控性不是很好,还是自己重新设计舒服。ヽ(ー_ー)ノ ????2. 利用SendMessage实现窗口拖动 ??适用于。。。我也不是很清楚,没咋用过(`?ω?′)。原理就是通过向窗口发送API User32中包含的移动命令来实现移动。学习学习。 2.控件的拖拽 【推荐】 使用Blend中的行为来实现拖动 ?问题:这个拖拽行为虽然使用起来方便,但是只适用于子控件在父容器中拖拽的情况。 ?其它:1. Canvas容器中的子控件,通过点击下时记录的点,然后计算移动时的点的变化量,来重新计算子控件与父容器的相对位置。 ????2. Grid容器中的子控件拖拽的实现方法与Canvas大同小异,参考学习这篇博文的2.4项 ????3. 【推荐】Thumb控件 ?表示可由用户拖动的控件。 ??依赖于父容器进行使用,可以通过控件拖动时的属性值就能获取控件的垂直变化量和水平变化量。拖动DeltaEventArgs类在使用时,可以将按钮、图片等需要实现拖拽的内容放到Thumb下,通过拖拽Thumb来实现内容物的拖拽。参考学习这篇博文的2.1项 ????4. 通过RenderTransform的TranslateTransform属性实现 参考博文 https://blog.csdn.net/qq_18995513/article/details/62889383 在 二维 x-y 坐标系统内平移(移动)对象。 收工。 【WPF】总结窗口和控件拖拽的实现 标签:问题: system html https 帮助 .com 关键词 block 通过 原文地址:https://www.cnblogs.com/younShieh/p/10797612.html前文
关键词
参考资料
正文
参考学习这篇博文的2.3项
下一篇:C#面向对象二