dotnet 职业技术学院

博客

dotnet 职业技术学院

WPF 设置资源字典多线程安全读写方法

lindexi 发布于 2020-12-03

在 WPF 中,使用 ResourceDictionary 本身不会受到创建线程同步影响,意味着可以在任意的线程创建 ResourceDictionary 资源字典,然后在任意线程使用。但是此时的读写需要有时间上的差距,否则将会多线程读写不安全。在 ResourceDictionary 有一个 CanBeAccessedAcrossThreads 属性用来决定在进行读写的时候是否加上锁,但这个属性是内部的,需要通过黑科技更改才能用上

WPF 设置元素为 Collapsed 是否会创建此元素

lindexi 发布于 2020-12-03

在 WPF 的 XAML 中,如果将某个元素初始的时候设置 Visibility 为 Collapsed 的值,那么意味着这个元素将不会参与布局,就和不存在是一样的。那么这个元素是否会被创建在内存中?是会创建的

刚刚我从服务器回滚了 dotnet 5 的环境

lindexi 发布于 2020-12-03

今天是 2020.11.13 我在 CI 服务器上更新 dotnet 到 dotnet 5 以及 VS 到 16.8.1 最新版本,但是我在刚刚不得不回滚了环境…… 因为构建不通过

dotnet 使用 Interlocked 实现一个无锁的快速无序仅写集合

lindexi 发布于 2020-12-03

在 dotnet 里面,可以使用 Interlocked 进行原子命令更改 int 等的值,利用这个特性可以在一个固定足够长长度的数组里面,让多线程无锁等待写入值。因为没有锁的存在,无法保证读取时的安全,因此这样的集合只能被设计为只写的集合,只有在业务上完成了所有的写之后,才能作为可读的集合取出来

dotnet core 进行 XML 序列化抛出 XmlSerializers dll 文件找不到

lindexi 发布于 2020-12-03

在将原本的 dotnet framework 版本的 WPF 项目迁到 dotnet core 版本,在进行单元测试,发现在 XmlSerializer 抛出了 System.Private.CoreLib.XmlSerializers.dll 找不到的异常,其实这个只是在 XmlSerializer 的内部异常,可以忽略

dotnet OpenXML SDK 形状的翻转与旋转

lindexi 发布于 2020-12-03

在 OpenXML 的 PPT 元素,形状的翻转与旋转是有逻辑关系,本文来和大家聊聊形状的翻转和形状的旋转的关系

dotnet 使用 AsyncQueue 创建高性能内存生产者消费者队列

lindexi 发布于 2020-12-03

在本机相同进程中创建生产者消费者队列,可以解决很多线程安全以及高性能需求问题。本文告诉大家如何通过在 GitHub 完全开源的 AsyncWorkerCollection 库的 AsyncQueue 类创建在内存中的高性能低资源占用的生产者消费者队列

WPF 解决 Skia 因为找不到字体而绘制不出中文字符

lindexi 发布于 2020-12-03

在 WPF 使用 Skia 做渲染工具,如果绘制的中文都是方块,也许是字体的问题。字体的问题是 Skia 没有找到字体,本文告诉大家如何修复

dotnet 为什么开源的运行时仓库代码减少使用 Linq 语句

lindexi 发布于 2020-12-03

在 dotnet 开源的 runtime 运行时仓库里面,有微软的大佬说运行时仓库的代码应该减少使用 Linq 语句,那这又是为什么呢

关于技术规划的想法

lindexi 发布于 2020-12-03

这是我和总工聊了一个下午之后,我的收获。但是技术规划是每个人都有自己的想法,同时和具体的团队和时机相关,再加上我自己没有实际参与任何的规划,我只是执行技术规划的其中很小的一个点,因此本文的内容一定存在争议

.NET Core 用 Blazor 做 jmeter 系列视频

lindexi 发布于 2020-12-03

本文来安利大家宇辰大大的 .NET Core 用 Blazor 做 jmeter 系列视频

WPF 让 TextBox 支持水平滚动

lindexi 发布于 2020-12-03

超级简单的方法,只需要设置 HorizontalScrollBarVisibility 可见就可以了

Win10 的 WPF 程序的 wisptis 服务是附加到进程的窗口

lindexi 发布于 2020-12-03

在 Win10 下,没有 WISPTIS 服务进程,和 win7 不相同。但是 WPF 依然通过 PENIMC 从 COM 获取实时触摸消息,那么 WPF 是从哪里获取

制作的 dotnet tool 运行失败提示依赖缺失

lindexi 发布于 2020-12-03

小伙伴做了一个很好用的 dotnet tool 工具,但是这个工具仅在他的设备上能运行,在我的设备上运行就会退出提示 An assembly specified in the application dependencies manifest (LindexiDoubi.deps.json) was not found 找不到依赖

dotnet OpenXML 为什么资源使用 Relationship 引用

lindexi 发布于 2020-12-03

在 OpenXML 文档格式里面,所有的资源以及页面之间的引用等,都是通过 Relationship 的引用,如资源需要通过 GetReferenceRelationship 的方法才能拿到。那为什么要这样设计呢