自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lindexi

好多时间打出来代码没有bug

原创 读书笔记 dotnet 大对象堆和小对象堆

本文是读还没出版的伟民哥翻译的 .NET内存管理宝典 - 提高代码质量、性能和可扩展性 这本书的笔记

2020-09-26 08:50:15 47 0

原创 NuGet 命令行上传找不到 snupkg 文件

在 NuGet 提供符号 NuGet 库的支持,在默认上传将会同时上传符号库。在 NuGet 上传文件将会默认将 snupkg 符号文件上传

2020-09-26 08:49:13 34 0

原创 WPF 最简逻辑实现多指顺滑的笔迹书写

只需不到 150 行代码就能实现一个支持多指顺滑的笔迹书写的应用。当然,这个应用除了笔迹书写外,没有其他任何功能。本文将不会使用 InkCanvas 而是使用更底的方法,通过 Stroke 进行绘制

2020-09-26 08:48:09 43 0

原创 dotnet 里的那些锁 AutoResetEvent 用法

本文告诉大家在 dotnet 里的 AutoResetEvent 锁的用法

2020-09-26 08:47:15 68 0

原创 C# dotnet 的锁 SemaphoreSlim 和队列

本文主要是试验在顺序进入等待 SemaphoreSlim 的任务是否会按照顺序经过锁执行

2020-09-26 08:46:18 48 0

原创 WPF 触摸相关

本文整理我写的触摸博客

2020-09-26 08:44:52 31 0

原创 WPF 使用 HandyControl 给 ListView 添加漂亮的表头效果

本文将来安利大家一个很好用的 UI 控件库,著名的 HandyControl 库。在想要给 ListView 添加一个表头,同时想要这个 ListView 在没有美工小姐姐的帮助下也能看起来比较好看,此时就特别适合使用 HandyControl 库

2020-09-26 08:42:38 66 0

原创 命令行参数使用 json 有哪些坑

本文和大家聊聊在命令行参数里面使用 json 会遇到的坑

2020-09-26 08:41:39 47 0

原创 WPF 获取屏幕某个点的颜色

我在做一个笔迹性能测试工具,想要在笔迹绘制到某个点的时候输出绘制的速度,通过判断屏幕颜色修改判断笔迹绘制到哪。此时需要在不截图屏幕获取屏幕某个点的颜色

2020-09-26 08:40:33 57 0

原创 Blazor 的 NavLink 的 NavLinkMatch.Prefix 有啥作用

默认的 NavLink 的 Match 的默认值就是 NavLinkMatch.Prefix 表示只要当前的链接的路由的前部分和 href 的相同,那么将匹配上,修改样式为高亮 本文记于 2020.06.25 也许后续也有点变更 在 NavLink 的取值上有两个可选的值,一个是 NavLi...

2020-07-08 13:52:40 373 1

原创 Blazor 如何使用代码跳转链接

可以通过在页面注入 NavigationManager 调用 NavigateTo 方法进行跳转 根据官方文档 可以在页面注入 NavigationManager 拿到跳转的功能 @page "/todo" @inject NavigationManager Navigati...

2020-07-08 13:52:40 456 0

原创 ASP.NET Core 解决控制台输出日志内容前面[40m等乱码字符

在默认我写了一个 WPF 程序去做管理 ASP.NET Core 进程的日志的时候,重定向输出的内容里面每一行前面都添加了很多乱码字符串。其实这是 ASP.NET Core 控制台的颜色字符,解决方法是禁用控制台颜色 在看到重定向的输出里面包含以下乱码字符 �[40m�[32minfo�[3...

2020-07-08 13:49:53 410 0

原创 C# dotnet 使用 FileStream 随机文件读写

本文说的随机文件读写的随机的反义词是顺序,这里的随机文件读写对应顺序文件读写。表示文件可以不按照顺序进行读写 进行文件读写的时候,基本上读是几乎不存在问题的,而写的话就稍微坑了一点,在 dotnet 里面默认没有提供 RandomAccessStream 类,这个 RandomAccessS...

2020-07-08 07:58:25 270 0

原创 Office 文档解析 文档格式和协议

本文讨论的 Office 文档指的是 Office 2007 及以后的 PPTX 和 xlsx 等格式的文件。在 Office 2007 之前使用的不公开标准的二进制格式定义。在 Office 2007 之后的文档格式使用 OOXML 国际标准定义,本文将告诉大家这个标准的协议和格式 在 Of...

2020-07-08 07:58:25 863 0

原创 通过 cmd 批处理文件将 16 进制转 10 进制数字

我在用户的电脑上通过 spyxx 找到某个进程的 id 都是在 spyxx 使用 16 进制显示,而任务管理器使用 10 进制显示,用户的电脑没有计算器。我如何使用 bat 或 cmd 等批处理文件快速将十六进制的数字转换为十进制的数字 创建一个文本文件,修改后缀名为 cmd 文件 使用如下代...

2020-07-08 07:58:25 472 0

原创 dotnet 通过依赖注入的 Scoped 给工作流注入相同的上下文信息

本文将来聊聊 Microsoft.Extensions.DependencyInjection 这个依赖注入框架的 Scoped 功能的一个应用,这个框架是默认 ASP.NET Core 的核心库将会默认被引用。而其他 .NET 的应用如 WPF 或 Xamarin 等也可以使用这个库。因此本文标...

2020-07-08 07:58:25 150 0

原创 dotnet OpenXML 的 Slide Master 和 Slide Layout 是什么

本文来告诉大家在解析 PPT 文档的时候,元素继承以及占位符需要用到的 Slide Master 和 Slide Layout 是什么 在做 Office 解析的时候,小伙伴需要特别的去学习一下 Office 哦,不然有很多概念将会难以理解。而 Office 有多强?光属性定义加上注释的 C...

2020-07-07 07:55:03 129 0

原创 Office 使用 OpenXML SDK 解析文档博客目录

本文收集我写的 Office 解析相关博客 入门 C# dotnet 使用 OpenXml 解析 PPT 文件 C# dotnet WPF 使用 OpenXml 解析 Excel 文件 PPT 解析 dotnet OpenXML 解析 PPT 页面元素文档格式 dotnet OpenXML ...

2020-07-07 07:55:03 167 0

原创 dotnet OpenXML 解析 PPT 页面元素文档格式

本文告诉大家在 OpenXML 里面的 PPT 页面 Slide 的元素文档格式 是否小伙伴还记得如何使用 OpenXML SDK 获取一份 PPTX 文件的某一个页面?如果不记得,请看 C# dotnet 使用 OpenXml 解析 PPT 文件 如下是一个简单的 PPTX 的 Slide...

2020-07-06 08:16:17 131 0

原创 WPF 框架全构建环境虚拟机硬盘分享

现在 WPF 完全开源了,咱可以构建自己私有的版本。我分享一个虚拟机硬盘给你,只要你下载下来,通过 VMWare 导入,即可无需任何配置,拿到一个能构建 WPF 官方源代码的全构建环境。可以用来只做你的定制版的 WPF 框架 现在 WPF 完全开源,但是构建的过程中需要用到很多工具,这些工具...

2020-07-04 10:05:56 113 0

原创 WPF 修改屏幕亮度

在 WPF 中可以使用 Dxva2 或 GDI 的方法调整屏幕亮度或获取屏幕亮度 比较推荐使用 Dxva2 的方法修改亮度,但不是所有的屏幕都支持的。假定某个设备有多个屏幕,此时可以使用 User32 的 MonitorFromWindow 方法获取某个窗口所在的屏幕,此时根据这个屏幕的返回...

2020-07-04 09:35:56 152 0

原创 dotnet 找到博客中引用已失败的链接地址

在我的博客里面会添加很多引用,但是有一大部分的链接失修,访问的时候访问不到了,或者需要更新。于是我写了一个工具,可以协助找到所有的已失败的链接 本文用到工具所有代码放在 github 欢迎小伙伴访问 使用方法是在参数传入博客所在的文件夹,此时将会找到所有最顶层的博客文件,接着工具将会使用正则...

2020-07-04 08:29:24 101 0

原创 命令行参数使用 json 有哪些坑

本文和大家聊聊在命令行参数里面使用 json 会遇到的坑 空格问题 命令行会使用空格分割多个命令,因此 json 里面的格式存在空格时,需要做对应的替换 引号问题 这是最坑的问题,按照 json 格式的规则, 他的值使用引号包含。根据 文档 可以了解到,需要使用三个引号作为一个引号的表示 换...

2020-07-02 15:30:33 160 0

原创 为什么使用 GUID 做文件名不是好主意

在创建随机文件使用的时候,文件的命名是神坑,我看到一些代码里面使用 GUID 作为文件名,这不是一个好主意。推荐的做法应该使用 Path.GetRandomFileName 方法 为什么使用 Guid 作为文件名不是一个好主意,有以下原因 文件名冲突 有小伙伴认为使用 Guid 作为文件名就...

2020-07-02 15:30:33 181 0

原创 WPF 获取屏幕某个点的颜色

我在做一个笔迹性能测试工具,想要在笔迹绘制到某个点的时候输出绘制的速度,通过判断屏幕颜色修改判断笔迹绘制到哪。此时需要在不截图屏幕获取屏幕某个点的颜色 本文的方法可以在 WinForms 等使用 using System; using System.Drawing; using ...

2020-07-01 16:00:55 150 0

原创 dotnet 定制 ILogger 实现

默认在 dotnet 里面框架提供了 Microsoft.Extensions.Logging 可以和依赖注入做日志框架,而有些业务,如需要自己定制日志行为,此时就需要定制日志 当初写一个类继承 ILogger 是做不到定制,需要再写一个类继承 ILoggerProvider 才好做定制 如...

2020-06-30 09:42:28 188 0

原创 C# dotnet Thread.GetCurrentProcessorId 和 CurrentProcess.Id 的区别

使用 Thread.GetCurrentProcessorId 可以获取当前线程处理器的 Id 是哪个,而通过 Process.GetCurrentProcess().Id 可以获取当前进程的 Id 号,这两个的差别从上面描述就能看出 更进一步的 Thread.GetCurrentProce...

2020-06-30 09:42:28 109 0

原创 C# dotnet 解决 Path 获取文件名路径在 Windows 构建在 Linux 执行问题

最近需要支持国产的 UOS 系统,这个系统我采用了 Xamarin 加上 GTK 开发,而我的日志系统有一个功能是记录日志的时候传入当前的文件路径,此时 NuGet 包是在 Windows 下构建的,因此传入的路径是 Window 构建服务器路径。此时在 Linux 上尝试获取文件名就炸了 ...

2020-06-30 09:42:28 273 0

原创 Blazor 获取当前的 Url 链接

在 Blazor 获取当前页面所在的 URL 链接可以通过 NavigationManager 类辅助获取,也可以通过此方法获取当前域名等信息 首先在页面添加依赖注入,如下面代码 @inject NavigationManager NavigationManager 此时就注入了 Navig...

2020-06-29 09:04:49 226 0

原创 Blazor 的 NavLink 提示 RZ9986 不支持复杂内容

在使用 Blazor 做动态的跳转的时候,如果在 NavLink 的 href 添加了包含 C# 代码,那么将会提示 RZ9986 组件的属性不支持复杂的内容,如混合 C# 代码和标记等。解决方法是通过按钮加上事件代替 在使用如下面代码在循环里面写跳转逻辑 @for (int i = 1; ...

2020-06-29 09:04:49 116 0

原创 WPF 如何给 Grid 的某一行添加背景色

其实在 WPF 里面是不存在单独设置 Grid 的某一行的配色,但是想要达到这个视觉效果,可以通过 Border 配合做到 使用方法很简单,假设咱创建了一个简单的 WPF 的 Xaml 界面如下 <Grid> <Grid.RowDefinitions...

2020-06-29 09:04:49 371 0

原创 从 gitlab 配置管理聊聊团队项目管理

每个团队都有适合各自的管理方法,本文仅记录我现在的团队所使用的项目管理方法。本文主要聊的是通过 gitlab 的里程碑以及 git 的分支管理项目的开发和送测的代码合并问题 在我现在团队开发的项目,其实是产品级。而不是项目级。什么是产品级什么是项目级,其实产品级就是作出一个面向终端用户或企业...

2020-06-29 09:04:49 168 0

原创 C# dotnet 使用 TaskCompletionSource 让事件转异步方法

咱今天来聊聊一个毁灭世界的故事,哦,不,是一个使用 TaskCompletionSource 让偷核武器,哦,又说错了,是让事件转换为异步的方法,让咱可以在一个方法里面顺序写下毁灭世界的逻辑 故事的背景是这个世界上的核导弹的发射是只要有密码就能发射,而刚好咱有一个强大的黑客团队可以窃取到密码...

2020-06-28 08:43:48 114 0

原创 白板类应用的业务事件分发模式

在画板上延伸业务的事件,可以通过画板本身,利用路由事件分发,此时能解决依赖事件业务对具体业务对象的依赖 背景 先来聊聊白板应用的背景 基础的白板可以认为是有一个画板 Board 而在画板上面有很多纸张页面,咱称这些纸张页面为 Slide 页面 默认在画板上添加的元素,如笔迹或文本等,都是画在...

2020-06-24 15:26:51 93 0

原创 WPF HandyControl 已支持给任意控件通过按下移动抬起封装点击事件

著名的 HandyControl 已经支持给任意控件通过按下移动抬起事件,封装点击事件 在 HandyControl 的这个 PR 添加了 InputClickHelper 类,这个类提供了使用控件的按下移动抬起事件封装为点击事件 使用方法: Install-Package HandyCon...

2020-06-24 15:26:51 446 1

原创 UNO UnoConf 2020 在线会议 了解全平台新开发框架 零距离接触官方开发者

作为新一代的全平台开发框架 UNO 将在 2020 的 8 月 13 日进行线上举行 UnoConf 2020 在线会议,所有小伙伴都可以免费参加 参加链接: https://www.eventbrite.ca/e/unoconf-2020-livestream-tickets-106050...

2020-06-24 15:26:51 112 0

原创 VisualStudio 解决首次调试 docker 的 vs2017u5 exists, deleting 太慢问题

首次调试需要下载一些有趣的内容用于辅助调试,这部分内容大概有 100 多 M 在 VS 里面需要在半天。本文告诉大家如何在外面使用其他强大的下载工具下载完成之后复制回去 本文特别参考了 visual studio 容器工具首次加载太慢 vsdbg\vs2017u5 exists, deleti...

2020-06-23 16:04:04 543 0

原创 聊聊 2020 的 dotnet 各大开源项目仓库的情况

现在是 2020.06.21 我来聊聊我所关注的 dotnet 的几个大开源项目的活跃以及定位情况。包括 WPF 和 WinForms 和 Xamarin 和 ASP.NET Core 和 Blazor 仓库 没有被点名的仓库不代表不活跃和不重要,只是我精力有限,没有参与开发。没有在局里面,不...

2020-06-22 16:03:14 392 0

原创 Xamarin Forms 4.7 支持更简化的 Grid 行列布局写法

尽管非官方提供的 Grid 行列简化版本特别多,但是在最近这样的简写方法才被合并到了主仓库。整个 Xamarin Forms 都是开源的,任何小伙伴都可以发布自己的私有版本。也因此有很多有趣的小伙伴说,我这么好的功能就是不想放在官方,我只是用的爽就可以了。不过,也有很多小伙伴十分慷慨,我就是要放在...

2020-06-22 16:02:49 391 0

原创 dotnet core 2 使用 DispatchProxy 做动态代理 AOP 入门

本文简单告诉大家如何在 .NET Core 里面使用 AOP 切面编程,使用 DispatchProxy 做任意接口的动态代理实现 使用 DispatchProxy 有一些限制,如只能创建接口的实例。使用 DispatchProxy 可以让咱做到从无中创建出某个实例,这个实例继承咱想要的接口 ...

2020-06-22 16:02:32 194 0

提示
确定要删除当前文章?
取消 删除