WPF 通过 GetRawPointerDeviceData 从 WM_POINTER 消息触摸裸数据
本文将告诉大家如何在 WPF 里面,通过 GetRawPointerDeviceData 方法从 WM_POINTER 指针消息触摸裸数据,以及解析数据信息获取到更多触摸框上报的信息
dotnet 代码调试方法
本文将会从基础到高级,从简单到复杂的顺序,告诉大家如何调试 dotnet 系应用,特别是桌面端应用。本文将会向大家介绍使用 VisualStudio 大量的功能用来提高调试效率,穿插着也会介绍一些好用的...
WPF 从 WriteableBitmap 里获取到渲染线程使用的 IWICBitmap 对象
在 WPF 框架底层里面,对 WriteableBitmap 的实现是有双份内存,具体实现放在 CSwDoubleBufferedBitmap 里面。表层的内存是一个数组,里层内存是 IWICBitmap 对象,渲染时将使用 IWICBitmap 对...
dotnet 在 VisualStudio 一键 F5 启动调试 Roslyn 分析器项目
本文将告诉大家如何在 VisualStudio 里面,一键使用习惯的 F5 键进行快速构建和启动调试 Roslyn 分析器项目
Avalonia 简单实现输入法光标跟随效果
title: Avalonia 简单实现输入法光标跟随效果 description: 本文将告诉大家如何在 Avalonia 里面实现输入法光标跟随效果 tags: Avalonia category: 本文是在 11.1.0 的 Avalonia 版本里面实现效...
警惕 Visual Studio 属性求值副作用导致逻辑不符合预期
在 Visual Studio 进行调试的过程,也许大家会碰到一些进入断点和不进入断点时,行为逻辑不相同的情况。在进入断点时,默认启用属性求值或其他隐式函数调用,将会导致属性被求值,进而可能导致...
Windows 客户端软件自动更新服务的开发有哪些需求
我在团队里面有接手过 Windows 客户端软件的自动更新模块,这是一个非常庞大的模块,我隔壁有一个团队在专门负责事情。而我需要做的只是去接入而已,在接入的过程中,我也了解到整个自动更新机...
WPF 什么时候 VisualTreeHelper.GetDescendantBounds 将返回无穷大
本文将和大家介绍在什么情况下 WPF 将会在调用 VisualTreeHelper.GetDescendantBounds 方法时,返回一个无穷大的范围尺寸 在 WPF 的容器控件的里层元素的 RenderTransform 包含 NaN 将会导致对...
VisualStudio 通过配置 DefaultXamlRuntime 属性 让控制台项目里的 XAML 应用上智能提示
本文记录一个 VisualStudio 黑科技,通过配置 DefaultXamlRuntime 属性,即可让非 WPF 或 WinUI 或 MAUI 等系列类型的项目也可以拥有 XAML 的智能提示,智能提示方式和 WinUI 智能提示行为相同 ...
UWP WinUI3 传入 AddHandler 的 RoutedEventHandler 类型与事件所需不匹配将抛出参数异常
本文记录一个 UWP 或 WinUI3 的开发过程中的问题,当开发者调用 AddHandler 时,所需的 Handler 参数类型为 RoutedEventHandler 类型,然而实际上正确类型是需要与所监听事件匹配才能符合预期工...