
WPF
文章平均质量分 91
唐宋元明清2188
专注WPF/.NET技术分享,博客园地址:https://www.cnblogs.com/kybs0
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
WPF 记录鼠标、触摸多设备混合输入场景问题
和小伙伴在定位PPT批注翻页问题时,发现在以WIN32跨进程设置父子窗口后再调动PPT上下翻页,批注触摸操作只会触发Mouse事件,但此Mouse事件只有Down没有Up,这类触摸只转鼠标的场景后面我单独描述下。这个问题目前没有解决方案,上面跨进程设置父子窗口导致鼠标失效的问题,可以在触摸事件输入后判断上一次操作是否为鼠标事件,然后手动触发相应鼠标抬起事件的业务逻辑。事件输入我们都知道有3类:鼠标、触摸、触笔,鼠标是windows系统出来就有的事件,后面加了触笔、触摸。如何区分三类事件可以参考。原创 2025-01-05 18:53:53 · 1025 阅读 · 0 评论 -
.NET 模拟&编辑平滑曲线
【声明】CSDN只做转发不做时时更新,最新博客请关注博客园本文介绍不依赖贝塞尔曲线,如何绘制一条平滑曲线,用于解决无贝塞尔控制点的情况下绘制曲线、但数据点不在贝塞尔曲线的场景。在上一家公司我做过一个平滑曲线编辑工具,用于轮椅调整加减速曲线。基于几个用户可控制的点,生成一条平滑的曲线,控制点需要保持在曲线上。今天和小伙伴沟通,白板的形状绘制笔迹,也可以使用到这个技术,所以需要回顾总结下。原创 2024-12-12 20:02:14 · 710 阅读 · 0 评论 -
.NET 曲线上的点- 获取距离最近的点
我们通过曲线上获取的密集点,通过俩点之间连线,获取连线上最近的点。我们能够获取到一系列最近的点集,最近只取距离最小的点即可。本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。斜率变化不大的线段,点不密集;斜率变化较大的线段,点相当密集,所以由此点集得到的最近点,是相对准确的。不算太精确,但是对于获取曲线上最近点,基本能满足。【声明】CSDN只做转发不做时时更新,最新博客请关注博客园。如何在一条曲线上,获取到距离指定点最近的点位置?原创 2024-11-27 22:18:03 · 889 阅读 · 0 评论 -
.NET 曲线上的点- 获取指定横坐标对应的纵坐标值
【声明】CSDN只做转发不做时时更新,最新博客请关注博客园获取直线上的点,很容易,那曲线呢?二阶贝塞尔、三阶贝塞尔、多段混合曲线,如何获取指定横坐标对应的纵坐标?原创 2024-11-27 22:14:16 · 887 阅读 · 0 评论 -
Geometry 判断几何是否被另一个几何/线段分割成多段
【声明】CSDN只做转发不做时时更新,最新博客请关注博客园如下图,如何判断几何多边形A被多边形B,切割为多段几何?原创 2024-11-27 22:10:58 · 775 阅读 · 0 评论 -
WPF 修改屏幕DPI,会触发控件重新加载Unload/Load
【声明】CSDN只做转发不做时时更新,最新博客请关注博客园修改屏幕DPI,会触发控件的Unloaded/Loaded。原创 2024-11-27 22:09:02 · 1152 阅读 · 0 评论 -
WPF 禁用TextBox的触摸后自动弹出虚拟键盘
【声明】CSDN只做转发不做时时更新,最新博客请关注博客园如下截图,TextBox,在触摸点击后,会自动弹出windows的虚拟键盘。如何,禁用键盘的自动弹出?原创 2024-10-27 11:25:27 · 590 阅读 · 0 评论 -
.NET 监听窗口分辨率/DPI变更
【声明】CSDN只做转发不做时时更新,最新博客请关注博客园当程序运行,窗口已经加载后,如果修改屏幕分辨率,会影响窗口的正常显示。举个案例:悬浮窗口,显示在屏幕右下角。当分辨率、文本显示比例变更后,窗口位置可能会超出屏幕范围。所以当屏幕变更时,我们需要知道准确的时机,然后针对的处理。原创 2024-10-27 11:16:40 · 786 阅读 · 0 评论 -
.NET 笔迹擦除8边形
【声明】CSDN只做转发不做时时更新,最新博客请关注博客园笔迹擦除是白板软件的核心功能,擦除是以固定形状对笔迹进行碰撞测试,如有相关则分割Stroke线条。原创 2024-10-27 11:11:31 · 937 阅读 · 0 评论 -
WPF 输入附加事件
WPF官方对附加事件的描述 -附加事件概述 - WPF .NET Framework | Microsoft Learn所以我们先定义一个附加事件类:2 {4 /// 按压事件15 }然后,我们看下如何封装原有事件PreviewMouseDown、PreviewStylusDown,并转换成此PreviewDeviceDown事件在界面上添加下事件:2 Content="测试" Height="30" Width="120"原创 2024-10-25 17:40:26 · 806 阅读 · 0 评论 -
WPF 设备焦点捕获
【声明】CSDN只做转发不做时时更新,最新博客请关注博客园触摸等快速移动WPF元素时,因元素无法跟上元素移动速度,后续的移动事件无法触发导致移动操作停顿。这时候调用CaptureMouse捕获设备焦点,就可以支持设备快速移动操作。设备输入有三种鼠标、触笔、触摸,所以对应的设备焦点捕获也有三类:CaptureMouse、CaptureStylus、CaptureTouch。原创 2024-10-26 18:20:56 · 587 阅读 · 0 评论 -
.NET 控件转图片
【声明】CSDN只做转发不做时时更新,最新博客请关注博客园Windows应用开发有很多场景需要动态获取控件显示的图像,即控件转图片,用于其它界面的显示、传输图片数据流、保存为本地图片等用途。下面分别介绍下一些实现方式以及主要使用场景。原创 2024-10-26 18:15:06 · 762 阅读 · 0 评论 -
.NET 窗口/屏幕截图
窗口句柄(窗口或者桌面)</param>23 /// <param name="height">截取的高度</param>22 /// <param name="width">截取的宽度</param>42 /// <param name="height">高度</param>20 /// <param name="x">x坐标原创 2024-10-26 18:13:37 · 753 阅读 · 0 评论 -
.NET 窗口/屏幕录制
GDI:适用于所有 Windows 版本,但性能较低。WGC:Win10 1803版本以上,高性能和低延迟,屏幕及窗口均支持。DXGI:Win8版本以上,适用于高分辨率高帧率等高性能的需求,并且只支持屏幕录制、不支持窗口。录制主要是本地录屏、直播、远程桌面、视讯会议、传屏等场景。录制屏幕/窗口建议优先使用WGC,然后用DXGI兼容win8;如果仅录制屏幕且高分辨率、高帧率场景,建议优先DXGI关键字:录屏、录制窗口、高性能屏幕捕获。原创 2024-10-26 18:11:42 · 894 阅读 · 0 评论 -
WPF 设备输入事件封装
2、触笔 or 触摸 - 根据StylusDown事件参数StylusDownEventArgs,e.StylusDevice.TabletDevice.Type == TabletDeviceType.Stylus,True表示触摸设备为触笔,False则为触摸。上面区分了按钮与其它的FrameworkElement的鼠标事件,因为Button对冒泡事件是做了拦截再暴露Click事件,需要订阅路由事件来完成鼠标的监听。如上方代码,对鼠标的左右键、按下抬起、移动以及冒泡隧道都做了完整的封装。原创 2024-10-26 18:07:41 · 940 阅读 · 0 评论