WPF 从 WriteableBitmap 里获取到渲染线程使用的 IWICBitmap 对象-牛翰网

WPF 从 WriteableBitmap 里获取到渲染线程使用的 IWICBitmap 对象

在 WPF 框架底层里面,对 WriteableBitmap 的实现是有双份内存,具体实现放在 CSwDoubleBufferedBitmap 里面。表层的内存是一个数组,里层内存是 IWICBitmap 对象,渲染时将使用 IWICBitmap 对...
dotnet 在 VisualStudio 一键 F5 启动调试 Roslyn 分析器项目-牛翰网

dotnet 在 VisualStudio 一键 F5 启动调试 Roslyn 分析器项目

本文将告诉大家如何在 VisualStudio 里面,一键使用习惯的 F5 键进行快速构建和启动调试 Roslyn 分析器项目
Avalonia 简单实现输入法光标跟随效果-牛翰网

Avalonia 简单实现输入法光标跟随效果

title: Avalonia 简单实现输入法光标跟随效果 description: 本文将告诉大家如何在 Avalonia 里面实现输入法光标跟随效果 tags: Avalonia category: 本文是在 11.1.0 的 Avalonia 版本里面实现效...
警惕 Visual Studio 属性求值副作用导致逻辑不符合预期-牛翰网

警惕 Visual Studio 属性求值副作用导致逻辑不符合预期

在 Visual Studio 进行调试的过程,也许大家会碰到一些进入断点和不进入断点时,行为逻辑不相同的情况。在进入断点时,默认启用属性求值或其他隐式函数调用,将会导致属性被求值,进而可能导致...
Windows 客户端软件自动更新服务的开发有哪些需求-牛翰网

Windows 客户端软件自动更新服务的开发有哪些需求

我在团队里面有接手过 Windows 客户端软件的自动更新模块,这是一个非常庞大的模块,我隔壁有一个团队在专门负责事情。而我需要做的只是去接入而已,在接入的过程中,我也了解到整个自动更新机...
WPF 什么时候 VisualTreeHelper.GetDescendantBounds 将返回无穷大-牛翰网

WPF 什么时候 VisualTreeHelper.GetDescendantBounds 将返回无穷大

本文将和大家介绍在什么情况下 WPF 将会在调用 VisualTreeHelper.GetDescendantBounds 方法时,返回一个无穷大的范围尺寸 在 WPF 的容器控件的里层元素的 RenderTransform 包含 NaN 将会导致对...
VisualStudio 通过配置 DefaultXamlRuntime 属性 让控制台项目里的 XAML 应用上智能提示-牛翰网

VisualStudio 通过配置 DefaultXamlRuntime 属性 让控制台项目里的 XAML 应用上智能提示

本文记录一个 VisualStudio 黑科技,通过配置 DefaultXamlRuntime 属性,即可让非 WPF 或 WinUI 或 MAUI 等系列类型的项目也可以拥有 XAML 的智能提示,智能提示方式和 WinUI 智能提示行为相同 ...
UWP WinUI3 传入 AddHandler 的 RoutedEventHandler 类型与事件所需不匹配将抛出参数异常-牛翰网

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

本文记录一个 UWP 或 WinUI3 的开发过程中的问题,当开发者调用 AddHandler 时,所需的 Handler 参数类型为 RoutedEventHandler 类型,然而实际上正确类型是需要与所监听事件匹配才能符合预期工...
dotnet C# 警惕可空结构体的方法内部赋值无效-牛翰网

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

本文将记录一个 C# dotnet 里的一个稍微隐藏的行为,那就是如果有一个结构体存在某个的方法,此方法的作用是修改结构里面的字段或属性的值,那此时将会在可空的结构体调用此方法时,发现没有真...
WPF 解决 SelectionTextBrush 设置无效问题-牛翰网

WPF 解决 SelectionTextBrush 设置无效问题

本文告诉大家在 WPF 里面设置 SelectionTextBrush 无效的问题,可以通过 AppContext 的开关开启其行为 如以下的代码,设置被选择的文本的字符颜色为红色 <Grid> <TextBox Text="T...