随笔分类 -  WPF/Silverlight

Windows Presentation Foundation
摘要:本文介绍如何将窗口置于最顶层,以及解决在顶层显示时对锁屏登录界面的影响等问题。用于实现类似Launcher、系统工具等应用需要窗口层级比Windows开始菜单以及置顶任务栏还要高的场景 一般情况下的窗口置顶,可以设置WPF窗口属性Topmost=true 也可以使用WIN32-SetWindowPo 阅读全文
posted @ 2025-01-08 19:00 唐宋元明清2188 阅读(855) 评论(3) 推荐(12)
摘要:.NET 多线程 Task Cancel Result、Wait Continue 异步编程 async、await await原理 同步上下文 死锁 同步、异步 信号发生器 Auto Manual PushFrame TaskCompletionSource 并发、并行 Task并行 Parall 阅读全文
posted @ 2024-12-31 19:24 唐宋元明清2188 阅读(170) 评论(0) 推荐(1)
摘要:.NET/WPF开发 Visual Studio 最新版本是VS2022,官网下载:Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 VsColorOutput 控制台可视化很强、编译会区分颜色输出,在VS扩展中在线安装最新VsColorOutput64 Reshape 阅读全文
posted @ 2024-12-31 19:18 唐宋元明清2188 阅读(1843) 评论(18) 推荐(19)
摘要:本文记录在WPF应用中鼠标、触摸混合输入,鼠标事件抬起时不会有MouseUp事件触发的问题。 事件输入我们都知道有3类:鼠标、触摸、触笔,鼠标是windows系统出来就有的事件,后面加了触笔、触摸。 1.鼠标输入,只会触发Mouse冒泡隧道事件; 2.触笔输入,会触发除了Stylus事件外,还会触发 阅读全文
posted @ 2024-12-30 18:11 唐宋元明清2188 阅读(595) 评论(0) 推荐(5)
摘要:本文介绍不依赖贝塞尔曲线,如何绘制一条平滑曲线,用于解决无贝塞尔控制点的情况下绘制曲线、但数据点不在贝塞尔曲线的场景。 在上一家公司我做过一个平滑曲线编辑工具,用于轮椅调整加减速曲线。基于几个用户可控制的点,生成一条平滑的曲线,控制点需要保持在曲线上。 今天和小伙伴沟通,白板以自定义形状绘制笔迹,也 阅读全文
posted @ 2024-12-12 19:58 唐宋元明清2188 阅读(1067) 评论(2) 推荐(9)
摘要:白板软件书写速度是其最核心的功能,注册StylusPlugin从触摸线程拿触摸点数据并在另一UI线程绘制渲染是比较稳妥的方案,具体的可以查看小伙伴德熙的2019-1-28-WPF-高性能笔 - lindexi - 博客园 (cnblogs.com) 上面StylusPlugin方案能提升在大屏目前如 阅读全文
posted @ 2024-10-10 20:33 唐宋元明清2188 阅读(871) 评论(3) 推荐(8)
摘要:使用AppContext.SetSwitch(AppContextSwitchOverrides 元素 - .NET Framework | Microsoft Learn),开启Pointer消息: 1 public partial class App : Application 2 { 3 pu 阅读全文
posted @ 2024-10-10 14:57 唐宋元明清2188 阅读(99) 评论(0) 推荐(0)
摘要:触摸等快速移动WPF元素时,因元素无法跟上元素移动速度,后续的移动事件无法触发导致移动操作停顿。 这时候调用CaptureMouse捕获设备焦点,就可以支持设备快速移动操作。 设备输入有三种鼠标、触笔、触摸,所以对应的设备焦点捕获也有三类:CaptureMouse、CaptureStylus、Cap 阅读全文
posted @ 2024-02-24 16:54 唐宋元明清2188 阅读(223) 评论(0) 推荐(1)
摘要:自定义控件,应用样式后,提示绑定异常: System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpres 阅读全文
posted @ 2023-06-27 11:21 唐宋元明清2188 阅读(479) 评论(0) 推荐(2)
摘要:我们都知道路由事件,而附加路由事件用的比较少。 但如果是通用的场景,类似附加属性,附加事件就很有必要的。 举个例子,输入设备有很多种,WPF中输入事件主要分为鼠标、触摸、触笔:WPF 屏幕点击的设备类型 - 唐宋元明清2188 - 博客园 (cnblogs.com) 有这么多输入事件Mouse、To 阅读全文
posted @ 2022-12-29 14:49 唐宋元明清2188 阅读(1009) 评论(0) 推荐(1)
摘要:WPF窗口设置属性ResizeMode="NoResize"时,回到桌面后,点击任意应用,都会将此窗口激活。 我们来看下详细操作: 1. WPF窗口设置属性ResizeMode 2. 启动测试程序,显示窗口 3. 在任务栏的右键菜单中,点击显示桌面(也可以使用快捷键win+D,回到桌面) 4. 点击 阅读全文
posted @ 2021-09-30 09:15 唐宋元明清2188 阅读(1331) 评论(0) 推荐(3)
摘要:当程序运行,窗口已经加载后,如果修改屏幕分辨率,会影响窗口的正常显示。 举个案例: 悬浮窗口,显示在屏幕右下角。当分辨率、文本显示比例变更后,窗口位置可能会超出屏幕范围。 所以当屏幕变更时,我们需要知道准确的时机,然后针对的处理。 通过窗口消息监听屏幕显示变更 对窗口添加钩子 1 var windo 阅读全文
posted @ 2021-06-08 01:16 唐宋元明清2188 阅读(1713) 评论(10) 推荐(4)
摘要:外部字体文件 1.后台代码引用字体 将一个名为“ChineseCharacterSpecialFont.ttf”的ttf文件,放在桌面路径,后台引用方式如下: 1 var ttfFilePath = @"C:\Users\user\Desktop\"; 2 HanziTextBlock.FontFa 阅读全文
posted @ 2020-04-24 12:16 唐宋元明清2188 阅读(2145) 评论(0) 推荐(2)
摘要:在MainWindow中,创建一个背景属性BrushTest,并将其绑定至界面上UserControl的BackgroundTest属性 UserControl,同样添加一个BackgroundTest属性,并将其绑定至界面。 运行后,控制台输出绑定异常,背景设置并没有生效。 System.Wind 阅读全文
posted @ 2019-12-03 15:56 唐宋元明清2188 阅读(1259) 评论(2) 推荐(4)
摘要:win32Api提供一种方法,模拟用户触摸点击 InjectTouchInput function InitializeTouchInjection InjectTouchInput 在模拟添加触摸输入(InjectTouchInput)前,需要提前初始化(InitializeTouchInject 阅读全文
posted @ 2019-12-02 15:59 唐宋元明清2188 阅读(1583) 评论(0) 推荐(1)
摘要:前言 列表滚动到具体的数据项? ListBox提供了简易快捷的滚动定位函数ScrollIntoView。 TreeView树状结构列表,则没有此类方法,无法与ListBox一样,直接设置滚动到具体的数据项。 同时,SelectedItem也是只读的,无法设置SelectedItem来间接的设置滚动项 阅读全文
posted @ 2019-06-12 19:35 唐宋元明清2188 阅读(2584) 评论(5) 推荐(1)
摘要:问题介绍 当ObservableCollection列表被UI线程占用时,如果在异步线程中调用ObservableCollection,会弹出以下异常: 问题分析 我们使用一个viewModel,在ViewModel中添加ObservableCollection类型的ItemsSource列表。 在 阅读全文
posted @ 2019-04-28 17:49 唐宋元明清2188 阅读(1010) 评论(0) 推荐(0)
摘要:当图片转svg,svg转Xaml后,根据数据加载显示图片 DrawingImage: 也有可能,同时也需要Geometry: 如何将俩种引用方式,提取Path数据重用? StreamGeometry不行, 没有相应的属性可以支持。。。。 所以我们换个Geomery,虽然没有StreamGeometr 阅读全文
posted @ 2019-04-09 10:55 唐宋元明清2188 阅读(2909) 评论(0) 推荐(1)
摘要:当我们需要在程序中替换主题,更换另一套背景、颜色、样式时,如何在不修改资源Key值,直接替换呢? 问题&疑问 1. Key值冲突 同一ResourceDictionary中,不可以使用相同Key 2. 资源替换 添加俩套样式,Xaml下是否可以将原有的资源(如样式)替换成新的资源? 加载顺序是否会冲 阅读全文
posted @ 2019-04-09 10:38 唐宋元明清2188 阅读(1363) 评论(0) 推荐(1)
摘要:WebView简介 在win10之前,浏览器控件有WPF版本webBrowser、Winform版本WebBrowser,浏览器内核为IE。 win10之后,微软不再维护原有的WebBrowser,转而推出UWP版本的WebView,可以适配于WPF、Winform程序。 WebView使用 限制条 阅读全文
posted @ 2019-02-21 12:14 唐宋元明清2188 阅读(1192) 评论(1) 推荐(1)