lindexi

林德熙 - 微软最具价值专家和 .NET 基金会成员

林德熙

dotnet C# 使用 FreeType 读取和绘制字体

本文将和大家介绍在 C# 里面简单使用 SharpFont 对 FreeType 的封装,读取 ttf 等字体文件信息,绘制出某个文字到图片文件

博客导航

本文记录我写的博客和我收集的博客

记微信截图导致 WPF 应用卡住 窗口无法激活问题

本文记录一位用户和我反馈的微信截图开启之后 WPF 应用就会卡住的问题,此时的行为就是任何程序的窗口都无法被激活,只有从任务管理器干掉 WPF 应用的进程才能恢复

Packaging.DebUOS 专门为 dotnet 应用制作 UOS 安装包

Packaging.DebUOS 是我所在的团队开发开源的一款专门用在为 dotnet 的应用制作成为符合要求的 UOS 统信系统软件安装包的工具,此工具可以辅助开发者使用现有的工具链经过简单的配置即可完成安装包的制作

一步步教你在 Windows 上构建 dotnet 系应用的 UOS 软件安装包

本文将详细指导大家如何逐步为 dotnet 系列应用创建满足 UOS 统信系统软件安装包的要求。在这里,我们所说的 dotnet 系列应用是指那些能够在 Linux 平台上构建 UI 框架的应用,包括但不限于 CPF 应用、UNO 应用、Avalonia 应用等

WPF 基础绘图 创建和加工图片

本文将从控制台开始,告诉大家一个非常简单的 WPF 基础绘图方法,通过本文的方法可以调用 WPF 上层人类友好的方法,充分利用 GPU 资源,创建或加工图片,最终结果可以输出到本地文件,可支持编码出多种不同的图片格式

dotnet 使用 windbg 运行脚本方式自动批量调试处理 dump 文件

本文将和大家介绍一个简单且实际用途不大的使用 windbg 配合脚本的方式,进行自动化的大批量对 dotnet 系应用的 dump 进行自动化分析调试处理,可以自动根据调试需求输出 dump 文件的一些信息

WPF 基础 2D 图形学知识

本文收集一些基础的知识,本文的逻辑是在 WPF 框架下实现,有包含了默认的坐标系以及默认类型定义。对于靠近 WPF 的框架,包括 Xamarin 和 UWP 和 UNO 和 MAUI 和 Avalonia 都适合

dotnet 解决 Avalonia 在 OpenKylin 麒麟系统运行找不到默认字体启动失败

本文记录 Avalonia 应用在 OpenKylin 麒麟系统运行找不到默认字体启动失败的解决方法

dotnet C# 使用 Win32 函数获取用户下载文件夹的路径的方法

大家都知道,在 dotnet 里面的可以使用 Environment.GetFolderPath 方法配合 Environment.SpecialFolder 枚举列出当前运行环境下的一些特殊文件夹。然而 SpecialFolder 枚举不包含对 Download 下载文件夹的枚举值,如咱需要获取用户当前的下载文件夹,需要使用 Win32 方法来辅助获取

记 dotnet 8.0.4 修复的 WPF 的触摸模块安全问题

本文记录 dotnet 8.0.4 版本修复的 WPF 的触摸模块安全问题,此问题影响所有的 .NET 版本,修复方法是更新 SDK 和运行时

学习 Avalonia 框架笔记 如何创建一个全屏置顶的 X11 应用窗口

本文记录我从 Avalonia 框架里面学到如何创建一个全屏置顶的 X11 应用窗口的方法

WPF 开发

本文:我遇到的WPF的坑

dotnet 学习 CPF 框架笔记 了解 X11 里如何获取触摸信息

本文记录我学习 CPF 框架的笔记,本文记录我阅读 CPF 框架,学习到了如何在 dotnet C# 里面获取到 X11 的触摸信息,获取到多指触摸以及触摸点的面积和触摸点压感等信息的方法

dotnet C# X11 开发笔记

本文记录我学习开发 X11 应用的笔记

UOS 开启 VisualStudio 远程调试 .NET 应用之旅

本文记录的是在 Windows 系统里面,使用 VisualStudio 2022 远程调试运行在 UOS 里面 dotnet 应用的配置方法

WPF 解决 SelectionTextBrush 设置无效问题

本文告诉大家在 WPF 里面设置 SelectionTextBrush 无效的问题,可以通过 AppContext 的开关开启其行为

dotnet core 使用 CoreRT 将程序编译为 Native 程序

现在微软有一个开源项目 CoreRT 能通过将托管的 .NET Core 编译为单个无依赖的 Native 程序 这个项目现在还没发布,但是能尝试使用,可以带来很多的性能提升 现在已经正式发布,合入到 dotnet 主干里,可以简单方便的使用

dotnet 修复多框架 TargetFrameworks 包含不受支持平台导致构建失败

本文将告诉大家如何修复 dotnet 项目里的多框架 TargetFrameworks 如果包含了当前系统无法支持的平台时,如何进行跳过。解决在 Linux 平台构建时提示 Mac Catalyst 不受支持而构建失败

学习 CPF 框架笔记 了解 X11 绘制图片方法

本文记录我学习 CPF 框架的笔记,本文将记录我从 CPF 框架里面学习到的如何 X11 绘制图片的方法

dotnet C# 设置 X11 应用窗口背景透明

本文将告诉大家如何在 X11 里面设置窗口透明

GtkSharp 设置窗口背景透明

本文告诉大家如何在 GTK Sharp 里面设置窗口背景透明

记 Intel 的 31.0.101.5186 版本驱动带崩 WPF 程序

本文记录一个 Intel 显卡驱动问题,暂时只在 Intel UHD Graphics 770 显卡带 31.0.101.5186 版本的显卡驱动时,才概率复现问题

学习 CPF 框架笔记 了解 X11 窗口和消息基础知识

本文记录我学习 CPF 框架的笔记,这是我从 CPF 框架里面学习到的 X11 的窗口和消息基础知识。本文将告诉大家如何创建一个 X11 简单窗口,支持在这个窗口上用鼠标画出简单的内容

开源项目

这是我收藏的开源项目

Fixing Missing Windows App Runtime Environment Prompt for Unpackaged WinUI 3 Applications

This article will tell you how to fix the prompt for a missing Windows App Runtime environment when running non-packaged WinUI 3 applications on a customer’s machine.

dotnet 打包 NuGet 的配置属性大全整理

本文整理 dotnet 打包 CBB 组件为 NuGet 包时可以使用的配置的各个属性

GtkSharp 获取触摸宽度高度面积尺寸信息

本文将告诉大家如何在 C# dotnet 里面,从 GTK 里面获取到触摸的宽度高度信息,即触摸面积或触摸尺寸信息

dotnet C# 警惕可空结构体的方法内部赋值无效

本文将记录一个 C# dotnet 里的一个稍微隐藏的行为,那就是如果有一个结构体存在某个的方法,此方法的作用是修改结构里面的字段或属性的值,那此时将会在可空的结构体调用此方法时,发现没有真正修改到可空结构体局部变量本身

从 WPF 搬迁到 UOS 下的 UNO 的笔记

本文记录我将一个小 WPF 应用搬迁到 UNO 框架,用于支持统信 UOS 系统时开发经验

WPF 探索任务管理器的进程分组逻辑

在看到 Win10 或 Win11 的 Task Manager 任务管理器时,不知大家是否有一个疑问,在 进程 标签里的应用进程是如何分组的。为什么有些组能包含很多个不同的进程,有些只能包含一个。本文将使用 WPF 写一个简单的应用来告诉大家任务管理器的进程分组策略

探索 dotnet core 为何在 Windows7 系统需要补丁的原因

在一些 Windows 7 系统上,根据 dotnet 官方文档,需要安装上 KB2533623 补丁,才能运行 dotnet core 或 .NET 5 等应用。尽管非所有的设备都需要安装此,但这也让应用的分发不便,安装包上都需要带上补丁给用户安装。此补丁同时也要求安装完成之后重启系统,这对用户端来说,也是较不方便。本文来聊聊为什么 dotnet core 一系的框架依赖于此补丁

UNO WinUI 已知问题 在 XAML 条件构建里将 win 平台加入 Ignorable 将构建失败

如果在 UNO 项目里面,为了进行 XAML 条件构建,将 win 平台加入到 mc:Ignorable 里面,将会在构建时提示 Xaml Internal Error error WMC9999: Unexpected ‘NONE’ in parse rule ‘Element ::= . EmptyElement ( StartElement ElementBody ).’. 错误

UWP WinUI3 传入 AddHandler 的 RoutedEventHandler 类型与事件所需不匹配将抛出参数异常

本文记录一个 UWP 或 WinUI3 的开发过程中的问题,当开发者调用 AddHandler 时,所需的 Handler 参数类型为 RoutedEventHandler 类型,然而实际上正确类型是需要与所监听事件匹配才能符合预期工作,否则将抛出缺乏信息的参数异常