InputHelper

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

帅比萌擦擦* 提交于 2020-08-10 23:37:21
我需要窗口内的某个元素拥有拖动整个窗口的功能,也就是这个元素在拖动的时候是拖动整个窗口。而且我还开出一个有趣的方法,这个作为窗口的拖拽的元素如果是用户在元素上拖动,那么将会拖动窗口,如果用户是点击,将会触发点击事件 附加属性可以给某个元素附加有趣的功能,本文的功能需要拖动元素的时候实际上是拖动窗口,第二个是元素是支持点击的 拖动窗口使用的是窗口的 DragMove 方法 元素支持点击用的是 WPF 给任意控件通过按下移动抬起封装点击事件 方法 因此本文需要引入 WPF 给任意控件通过按下移动抬起封装点击事件 的 InputHelper 类作为辅助 用法如下,写一个简单的界面,放一个元素作为拖动的元素 <Border x:Name="DraggingElement" Width="100" Height="100" Background="Gray"> <TextBlock x:Name="TextBlock" Margin="10,10,10,10" HorizontalAlignment="Center"></TextBlock> </Border> 上面代码的 DraggingElement 就是用来拖动窗口的元素 接下来在元素放一个 WindowDraggingExtension.DragWindow 附加属性 <Border x:Name="DraggingElement"

Linux input系统数据上报流程【转】

感情迁移 提交于 2020-04-24 14:17:48
转自: https://segmentfault.com/a/1190000017255939 作为鸡生蛋系列文章,这里主要关注Linux input系统, 主要为触摸事件上报流程. 读该文章最好有对linux驱动的入门知识. 其实当你自己去分析了input系统后,再分析别的就相对很轻松了, linux里好多套路都差不多的. 本文例子以ft6236.c驱动为例, 当然你也可以用goodix或者别的触摸来分析. 但是分析基于的内核版本用4.19.6(我写这篇文档时最新稳定版) ( https://git.kernel.org/pub/sc... 文档可参看 <<linux-4.19.6>>/Documentation/input/input.rst <<linux-4.19.6>>/Documentation/input/input-programming.rst 触屏设备驱动 eg: ( https://source.codeaurora.org... static irqreturn_t ft6236_interrupt(int irq, void *dev_id) { ...... //5. 中断处理中读数据 error = ft6236_read(ft6236->client, 0, sizeof(buf), &buf); ...... for (i = 0; i <

【笔记】CentOS安装Sublime Text 3

China☆狼群 提交于 2019-11-30 19:27:01
CentOS安装 Sublime Text 3 1) 安装ST3 # 建个目录 mkdir -p /opt/Backup cd /opt/Backup # 下载相应的tarball: http://www.sublimetext.com/3 wget http://[st3.tar.bz2] tar jxvf [st3.tar.bz2] mv sublime_text_3 /opt/sublime_text # 放到/opt下 # 建立软链接,以方便终端打开 ln -s /opt/sublime_text/sublime_text /usr/bin/sublime # 建立桌面快捷 cp /opt/sublime_text/sublime_text.desktop /usr/share/applications cd /usr/share/applications vi sublime_text.desktop # 更改"Icon=/opt/sublime_text/Icon/48x48/sublime-text.png" # 然后,于"Applications > Programming > Sublime Text"右键"Add this launcher to desktop" ps: 一开始没注意,下载的是deb包。需要安装alien将deb转为rpm再安装。(可忽略