摘要: 本文将告诉大家如何解决在 VisualStudio 2022 的 调试-窗口 里面找不到内存、 反汇编、 寄存器这三个调试工具的问题 阅读全文
posted @ 2024-09-12 21:07 lindexi 阅读(389) 评论(0) 推荐(1)
摘要: 本文记录一个 WPF 已知问题,当传入到渲染的 Geometry 几何里面包含了 NaN 数值,将可能让应用程序收到从渲染层抛上来的 UCEERR_RENDERTHREADFAILURE 异常,且此异常缺乏必要信息,比较难定位到具体错误逻辑 阅读全文
posted @ 2024-09-12 21:06 lindexi 阅读(257) 评论(0) 推荐(1)
摘要: 最近我看了微软的 AI 训练营之后,似乎有点了解 Windows Machine Learning 和 DirectML 的概念,于是我尝试实践一下,用 WPF 写一个简单的触摸手写输入的画板,再使用大佬训练好的 mnist.onnx 模型,对接 WinML 实现一个简单的手写数字识别应用 阅读全文
posted @ 2024-09-12 21:06 lindexi 阅读(147) 评论(0) 推荐(0)
摘要: 本文记录 WPF 触摸的一个已知问题,仅在开启 WM_Pointer 消息之后,将应用程序运行在包含多个屏幕的带触摸屏的设备上,如此时在非主屏幕的触摸屏上进行触摸,使用 GetStylusPoint 或 GetIntermediateTouchPoints 方法获取触摸点时,将会发现所获取的触摸点的坐标是偏的,偏的坐标差值刚好是整个屏幕距离 阅读全文
posted @ 2024-09-12 21:05 lindexi 阅读(106) 评论(2) 推荐(0)
摘要: 本文将和大家介绍在什么情况下 WPF 将会在调用 VisualTreeHelper.GetDescendantBounds 方法时,返回一个无穷大的范围尺寸 阅读全文
posted @ 2024-09-12 21:04 lindexi 阅读(96) 评论(0) 推荐(0)
摘要: 远古的 WPF 框架开发的大佬们认为没有任何业务的开发者需要用到超过 65534 个依赖属性和附加属性,为了节省内存空间就限制了所有的依赖属性和附加属性的定义总和加起来不能大于等于 65535 个 阅读全文
posted @ 2024-09-12 21:04 lindexi 阅读(65) 评论(0) 推荐(0)
摘要: 本文记录一个已知问题,此问题预计和 WPF 只有一毛钱关系,本质问题是在 WIC 层的 WindowsCodecs.dll 或 CLR 层上。在一些奇怪的系统上,解码一些奇怪的图片时,可能在解码器层抛出未捕获的本机异常,从而导致进程退出 阅读全文
posted @ 2024-09-12 21:04 lindexi 阅读(113) 评论(0) 推荐(0)
摘要: 在带 Intel UHD 770 的设备上,使用旧版本驱动,即小于 30.0.101.1660 版本驱动,将会导致 WPF 的 3D 模块出现渲染异常。此问题和 WPF 无关,此问题是 Intel 的 bug 且最新驱动版本已修复 阅读全文
posted @ 2024-09-12 20:00 lindexi 阅读(91) 评论(0) 推荐(0)
摘要: 在 Intel 11 代锐炬 Intel® Iris® Xe Graphics 核显设备上,如果此设备使用旧版本驱动,则可能导致 WPF 的 WriteableBitmap 停止渲染。此问题和 WPF 无关,此问题是 Intel 的 bug 且最新驱动版本已修复 阅读全文
posted @ 2024-09-12 20:00 lindexi 阅读(128) 评论(0) 推荐(0)
摘要: 本文记录一个 UNO 已知问题,在 UNO 里面可以利用 SKXamlCanvas 对接 Skia 绘制到应用里面。如果此时在后台线程里面调用 SKXamlCanvas 的 Invalidate 触发界面的重新刷新,但在具体的执行绘制 PaintSurface 事件里面对外抛出异常,将会导致应用炸掉 阅读全文
posted @ 2024-09-12 19:59 lindexi 阅读(31) 评论(0) 推荐(0)
摘要: 本文记录一个简单的在 UNO.Skia.Gtk 应用里面,配置 GTK 平台修改窗口尺寸的方法 阅读全文
posted @ 2024-09-12 19:59 lindexi 阅读(60) 评论(0) 推荐(0)
摘要: 官方现在只将中文注释维护到 .NET 5 版本,没有为 .NET 6 和 .NET 7 和 .NET 8 版本维护框架的中文注释。想要使用中文注释,需要使用第三方工具 阅读全文
posted @ 2024-09-12 19:59 lindexi 阅读(128) 评论(0) 推荐(0)
摘要: 由于 Environment.GetFolderPath 可以传入的参数里面,有许多都是 Windows 系统特有的,在 Linux 上不存在的,也没有映射对应的文件夹。本文将在 WSL Debian 和 UOS 系统上测试 Environment.GetFolderPath 行为 阅读全文
posted @ 2024-09-12 19:59 lindexi 阅读(100) 评论(0) 推荐(0)
摘要: 本文记录在 OpenXML SDK 2.15 版本下,为 PPTX 文件添加 CoreFilePropertiesPart 的方法,通过本文的方法可以正确且简单的添加 core.xml 文件到 PPTX 文件里 阅读全文
posted @ 2024-09-12 19:58 lindexi 阅读(38) 评论(0) 推荐(0)
摘要: 本文记录我在 UOS Linux 系统上使用 Process.Start 打开文件的行为 阅读全文
posted @ 2024-09-12 19:58 lindexi 阅读(38) 评论(0) 推荐(0)
摘要: Packaging.DebUOS 是我所在的团队开发开源的一款专门用在为 dotnet 的应用制作成为符合要求的 UOS 统信系统软件安装包的工具,此工具可以辅助开发者使用现有的工具链经过简单的配置即可完成安装包的制作 阅读全文
posted @ 2024-09-12 08:55 lindexi 阅读(330) 评论(0) 推荐(0)
摘要: 本文将告诉大家我对 WPF 的自定义布局容器和自定义控件进行的布局行为测试中的一个小点,即测试固定元素的尺寸的情况下或元素尺寸为有限尺寸的情况下,同步设置元素的水平和垂直对齐为 Stretch 来测试元素在容器内的布局行为,元素分别在容器给元素的布局尺寸大于元素的尺寸和小于元素尺寸的行为 阅读全文
posted @ 2024-09-12 08:55 lindexi 阅读(35) 评论(0) 推荐(0)
摘要: 本文记录我测试 dotnet 里面的 Mutex 锁,在多线程进入 WaitOne 等待时,进行释放锁时,获取锁执行权限的顺序是否与进入 WaitOne 等待的顺序相同。测试的结果是 Mutex 的 WaitOne 是乱序的,不应该依赖 Mutex 的 WaitOne 做排队顺序 阅读全文
posted @ 2024-09-12 08:54 lindexi 阅读(45) 评论(0) 推荐(0)
摘要: 本文记录我测试 dotnet 里面的 SemaphoreSlim 锁,在多线程进入 Wait 等待时,进行释放锁时,获取锁执行权限的顺序是否与进入 Wait 等待的顺序相同。测试的结果是 SemaphoreSlim 的 Wait 大部分情况是先进先出,按照 Wait 的顺序出来的,但是压力测试下也存在乱序,根据官方文档说明不应该依赖 SemaphoreSlim 的 Wait 做排队顺序 阅读全文
posted @ 2024-09-12 08:54 lindexi 阅读(43) 评论(0) 推荐(0)
摘要: 默认的源代码生成器所生成的代码都是没有直接存放到项目文件夹里面的,不受源代码管理工具管理,对使用方的开发者来说很难直接阅读或查找到 Source Generator 生成的源代码。本文将和大家介绍如何使用 EmitCompilerGeneratedFiles 属性配置将生成的代码保存到本地文件 阅读全文
posted @ 2024-09-12 08:54 lindexi 阅读(179) 评论(0) 推荐(0)
摘要: 在我所在的团队开发的一个 WPF 应用程序里面,使用到了 SQLite 作为本地数据库。在优化启动性能过程中,发现了在启动过程一旦访问 SQLite 将会因为 SQLiteFunction 扫描程序集导致 CPU 损耗,从而影响启动性能。本文将告诉大家如何禁用 SQLite 的 SQLiteFunction 扫描程序集 阅读全文
posted @ 2024-09-12 08:53 lindexi 阅读(35) 评论(0) 推荐(0)
摘要: 本文记录一个 VisualStudio 黑科技,通过配置 DefaultXamlRuntime 属性,即可让非 WPF 或 WinUI 或 MAUI 等系列类型的项目也可以拥有 XAML 的智能提示,智能提示方式和 WinUI 智能提示行为相同 阅读全文
posted @ 2024-09-12 08:53 lindexi 阅读(142) 评论(0) 推荐(1)
摘要: 本文记录在 UNO Platform 的桌面窗口项目里,进入和退出全屏窗口的方法,此方法包括 UNO 的 WPF 和 GTK 和 WinUI 版本的实现 阅读全文
posted @ 2024-09-12 08:53 lindexi 阅读(95) 评论(0) 推荐(0)
摘要: 本文将和大家介绍 Pipelines.Sockets.Unofficial 这个由纯托管代码实现的,对接了 System.IO.Pipelines 的 Sockets 库。这个库不仅代码性能高,且上层调用的 API 足够简洁 阅读全文
posted @ 2024-09-12 08:53 lindexi 阅读(246) 评论(0) 推荐(0)
摘要: 本文记录一个 UWP 或 WinUI3 的开发过程中的问题,当开发者调用 AddHandler 时,所需的 Handler 参数类型为 RoutedEventHandler 类型,然而实际上正确类型是需要与所监听事件匹配才能符合预期工作,否则将抛出缺乏信息的参数异常 阅读全文
posted @ 2024-09-12 08:53 lindexi 阅读(99) 评论(0) 推荐(0)
摘要: 本文将和大家介绍在开发 dotnet 的插件时,如何通过 dnlib 库检测当前的插件是否由于主应用程序的版本差异导致存在 API 兼容性问题 阅读全文
posted @ 2024-09-12 08:53 lindexi 阅读(100) 评论(0) 推荐(0)
摘要: 本文将告诉大家如何在 C# dotnet 里面,从 GTK 里面获取到触摸的宽度高度信息,即触摸面积或触摸尺寸信息 阅读全文
posted @ 2024-09-12 08:52 lindexi 阅读(116) 评论(0) 推荐(0)
摘要: title: UNO WinUI 已知问题 在 XAML 条件构建里将 win 平台加入 Ignorable 将构建失败 description: 如果在 UNO 项目里面,为了进行 XAML 条件构建,将 win 平台加入到 mc:Ignorable 里面,将会在构建时提示 Xaml Intern 阅读全文
posted @ 2024-09-12 08:52 lindexi 阅读(47) 评论(0) 推荐(0)
摘要: 本文将记录一个 C# dotnet 里的一个稍微隐藏的行为,那就是如果有一个结构体存在某个的方法,此方法的作用是修改结构里面的字段或属性的值,那此时将会在可空的结构体调用此方法时,发现没有真正修改到可空结构体局部变量本身 阅读全文
posted @ 2024-09-12 08:52 lindexi 阅读(138) 评论(0) 推荐(0)
摘要: 本文将告诉大家如何在 X11 里面设置窗口透明 阅读全文
posted @ 2024-09-12 08:51 lindexi 阅读(200) 评论(0) 推荐(0)
摘要: 本文记录我学习 CPF 框架的笔记,这是我从 CPF 框架里面学习到的 X11 的窗口和消息基础知识。本文将告诉大家如何创建一个 X11 简单窗口,支持在这个窗口上用鼠标画出简单的内容 阅读全文
posted @ 2024-09-12 08:51 lindexi 阅读(244) 评论(0) 推荐(0)
摘要: 本文记录我学习 CPF 框架的笔记,本文将记录我从 CPF 框架里面学习到的如何 X11 绘制图片的方法 阅读全文
posted @ 2024-09-12 08:51 lindexi 阅读(146) 评论(0) 推荐(0)
摘要: 本文记录 Avalonia 应用在 OpenKylin 麒麟系统运行找不到默认字体启动失败的解决方法 阅读全文
posted @ 2024-09-12 08:50 lindexi 阅读(292) 评论(0) 推荐(1)
摘要: 本文告诉大家在 WPF 里面设置 SelectionTextBrush 无效的问题,可以通过 AppContext 的开关开启其行为 阅读全文
posted @ 2024-09-12 08:50 lindexi 阅读(123) 评论(0) 推荐(1)
摘要: 本文记录我学习开发 X11 应用的笔记 阅读全文
posted @ 2024-09-12 08:50 lindexi 阅读(117) 评论(2) 推荐(2)
摘要: 本文将和大家介绍在 C# 里面简单使用 SharpFont 对 FreeType 的封装,读取 ttf 等字体文件信息,绘制出某个文字到图片文件 阅读全文
posted @ 2024-09-12 08:49 lindexi 阅读(208) 评论(0) 推荐(0)
摘要: 本文记录我学习 CPF 框架的笔记,本文记录我阅读 CPF 框架,学习到了如何在 dotnet C# 里面获取到 X11 的触摸信息,获取到多指触摸以及触摸点的面积和触摸点压感等信息的方法 阅读全文
posted @ 2024-09-12 08:49 lindexi 阅读(419) 评论(0) 推荐(1)
摘要: 本文记录我写的一个测试代码在 Linux 上踩坑的经验。在 Linux 上可能存在一些文件的文件长度是 0 但文件里面依然可以读取到内容。之前我不知道有这样的设计,导致了我大量逻辑判断文件长度为 0 就不执行,从而让运行结果不符合预期 阅读全文
posted @ 2024-09-12 08:49 lindexi 阅读(73) 评论(0) 推荐(1)
摘要: 本文记录使用 PulseAudio 在 Linux 系统上进行设置和获取当前音量,以及是否静音。当系统音量发生变更时,收到事件通知 阅读全文
posted @ 2024-09-12 08:48 lindexi 阅读(91) 评论(0) 推荐(0)
摘要: 在 Visual Studio 里面,可以在项目里面通过配置 DiagnoseCapabilities 查看项目的能力。什么是项目的能力?项目的能力就是对当前项目来说,可以具备 VS 支持的功能,项目功能是确定项目类型、平台和特性的推荐方法 阅读全文
posted @ 2024-09-12 07:29 lindexi 阅读(51) 评论(0) 推荐(0)