- 博客(47)
- 资源 (174)
- 问答 (1)
- 收藏
- 关注
原创 WPF 使用 Skia 绘制 WriteableBitmap 图片
本文告诉大家如何在 WPF 中使用 SkiaSharp 调用 Skia 这个全平台底层渲染框架,使用绘制命令在 WriteableBitmap 图片上绘制内容谷歌提出了 Skia 全平台渲染框架,这是一个很底层的框架,详细请看 google/skia: Skia is a complete 2D graphic library for drawing Text, Geometries, a...
2020-08-31 04:50:24 853
原创 dotnet 日志上报的 TracerId 和 SessionId 的意义
在做日志库设计的时候,我会特别考虑日志里面需要带上时间和 TracerId 和 SessionId 两个属性,本文告诉大家带上这两个属性的意义和优势在开始之前,先需要了解为什么需要写日志。其实无论日志内容是什么,都会比没有写日志更好。但是比没有设计的日志,有经过设计的日志的价值更高,详细请看 程序猿修养 日志应该如何写本文来聊聊一个更细的话题,日志里面的 TracerId 和 Sessi...
2020-08-31 04:50:24 626 2
原创 非技术 在线教育与电信行业的发展
今天在去买菜的时候,听到旁边有个移动的小哥哥在向一位大叔叔推荐办理移动带宽升级业务,他说到一句话,你升级一下带宽,你的小孩上在线课程的时候多顺哇。本来是没当回事,只是无聊的时候想到这一点,我认为这里是一个大的利益链,于是写博客记一下现在是 2020.08.30 我想看看是否我认为的是对的本文不聊任何技术,也不聊任何音视频相关的技术哈,只是想聊聊利益链的关系在电信行业,如移动和电信等,宽...
2020-08-31 04:50:24 266 2
原创 dotnet 在 Linux 下的 GDI 库对 EMF 图片格式的支持
我想要在 UOS 上支持上古的图片格式,也就是差不多废弃了 20 年的 EMF 和 WMF 增强图形格式,这两个格式十分古老,而在 Windows 下也存在一些不兼容的图片。我在 Windows 下是使用 GDI+ 的方法支持的,可以将 EMF 转 PNG 或 jpg 等格式。而在 UOS 下,因为 GDI+ 是跨平台的,可以使用跨平台的 System.Drawing.Common 库进行转换...
2020-08-31 04:33:24 568
原创 dotnet OpenXML 如何判断是形状还是文本
在 OpenXML 格式里面,其实不存在文本这个元素,所有都是形状。但是在 PPT 界面看到的文本框是什么呢?其实他是特别的形状。而几乎所有的形状都可以输入文本,因此区分形状和文本的意义不会特别大,只是在做解析的时候才会碰到在 OpenXML 的 PML 也就是 PPT 使用的格式里面,在 dotnet OpenXML 解析 PPT 页面元素文档格式 告诉大家都是形状那么文本框是什么形状...
2020-08-31 04:33:24 428
原创 dotnet 执行 docker 容器 error MSB4018 CreateAppHost 任务意外失败可能原因
在使用 ASP.NET Core 的 docker 调试的时候,在生成的这一步提示 C:\Program Files\dotnet\sdk\3.1.201\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(424,5): error MSB4018: “CreateAppHost”任务意外失败 可能的原因是 docker 内之前的容器...
2020-08-29 03:42:17 1111
原创 dotnet 定制 ILogger 实现
默认在 dotnet 里面框架提供了 Microsoft.Extensions.Logging 可以和依赖注入做日志框架,而有些业务,如需要自己定制日志行为,此时就需要定制日志当初写一个类继承 ILogger 是做不到定制,需要再写一个类继承 ILoggerProvider 才好做定制如以下的方法 public class CCloudConsoleLogProvider : I...
2020-08-29 00:36:26 1241
原创 dotnet 在 UOS 国产系统上安装 Mono 开发工具的方法
本文使用的 UOS 是 UOS 20 x64 版本,这个系统版本是基于 debian 10 的。而默认 mono-devel 是没有提供 UOS 版本,但是有提供 debian 10 版本,而 mono-devel 有很多依赖包,因此手动安装不是很靠谱本文推荐的方法是配置上 debian 10 的源,然后使用 apt-get 安装,这样步骤比较少。但是有缺点是也许 debian 源会帮你更...
2020-08-29 00:36:26 855
原创 WPF 点击按钮时更改按钮样式界面效果的 XAML 实现方法
在 WPF 中按钮 Button 将会吃掉路由事件,此时的 EventTrigger 如果通过 RoutedEvent 是 MouseLeftButtonDown 那么将会拿不到路由事件,也就触发不了,因此样式将不会变更。简单的解决方法就是通过 VisualStateManager 配合 VisualState 来实现实现效果如下,所有代码都是 XAML 代码实现方式为给 Butto...
2020-08-27 01:24:21 3807 1
原创 WPF 开启Pointer消息存在的坑
本文记录在 WPF 开启 Pointer 消息的坑启用了Pointer之后,调用Textbox.Focus(),起不来屏幕键盘,必须点在它之上才行,触摸在它之上才行我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新如果在博客看到有任何不懂的,欢迎交流,我搭...
2020-08-27 00:44:45 623
原创 WPF 使用基于 Chromium 内核的 Microsoft Edge 封装的 WebView2 控件
现在是 2020.08.23 当前这个技术依然是预览版,使用 WebView2 只需要通过 NuGet 安装库,可以支持 Win7 和 Win8 和 Win10 系统,无 IE 依赖。内核使用 Chromium 内核,顶层技术是 Microsoft Edge 封装创建一个 WPF 项目,项目框架要求最低版本是 .NET Framework 4.6.2 或以上, 或 .NET Core 3....
2020-08-26 02:09:16 2447
原创 dotnet 为什么开源的运行时仓库代码减少使用 Linq 语句
在 dotnet 开源的 runtime 运行时仓库里面,有微软的大佬说运行时仓库的代码应该减少使用 Linq 语句,那这又是为什么呢微软的 Jan Kotas 大佬说了下面这段话,大概意思就是减少在运行时库里减少对 Linq 的使用Linq maybe saves some allocations, but it comes with other overheads and much ...
2020-08-26 02:09:16 282
原创 dotnet OpenXML 文本 Kerning 字间距的作用
在 PPT 和 Word 排版里面,小伙伴会接触到 Kerning 字间距这个属性,本文将告诉大家这个属性的功能,以及为什么需要在 OpenXml 里面设置这个属性其实这个属性的实际作用需要从文本排版知识开始说起,在 Latin 拉丁语,如英文,这些语言的文本排版惯例里面,因为是由多个独立的字符构建的单词。因此多个字符之间的距离,也就是本文说的 Kerning 字间距将会影响阅读者的阅读效...
2020-08-25 00:57:02 355
原创 dotnet OpenXML 解压缩文档为文件夹工具
做 Office 解析,是需要进行不断的测试才能了解 OpenXML 里面的属性的作用。根据 Ecma 376 的定义,文档其实只是一个压缩文件,可以使用压缩工具进行解压缩。但是我需要不断进行修改文档里面的属性,然后用 Office 打开,测试属性的效果,此时就需要有一个工具用来提升效率工具的作用就是将 Office 文档,包括 Word 的 docx 和 PPT 的 pptx 和 Exc...
2020-08-25 00:57:02 334
原创 WPF 底层 从手指触摸屏幕到笔迹在屏幕显示中间的步骤
整个 WPF 就是一个UI框架,一个 UI 框架最重要的是 交互 和 显示 部分,而书写这个功能将会完全贯穿 WPF 整个框架的功能。本文非入门级博客,本文包含了大量链接博客,阅读本文你将会了解从用户手指触摸屏幕到最终屏幕打印出笔迹的应用程序执行的步骤本文实际内容不多,但是如果加上链接的博客,那么总内容将会非常多,还请小伙伴仔细阅读本文链接的博客从软件的角度上,可以将触摸屏看成是一个软件...
2020-08-25 00:57:02 581
原创 Office OpenXml SDK 使用 Fallback 图片显示 Ole 元素
我在写一个 WinForms 程序用来读取 Word 里面的图片显示,在解析 Word 等 Office 文档,会看到一些 ole object 元素,而有些 ole object 会有 Fallback 图片,用这些备用的图片可以显示 ole 元素其实有很多 Office 插件公司在开发,而特殊的元素如何在其他版本打开?或者我用插件做了一个复杂的元素,在没有插件的设备如何让用户看到?在 ...
2020-08-24 00:52:19 871
原创 dotnet 新 SDK Style 项目格式如何使用 InternalsVisibleToAttribute 功能
如果一个项目想要让其他某个指定的项目可以使用到 internal 的类或成员,可以通过标记 InternalsVisibleToAttribute 的方式实现最简单的方法是新建一个 AssemblyInfo.cs 文件,在这个文件里面使用 System.Runtime.CompilerServices.InternalsVisibleToAttribute 指定某个程序集可见using ...
2020-08-24 00:52:19 347
原创 WPF dotnet core 如何开启 Pointer 消息的支持
在 WPF 下,可以使用和 UWP 一样的 Pointer 触摸架构,只是开启的方式和 .NET Framework 版本有细微的差异看过 win10 支持默认把触摸提升 Pointer 消息 的小伙伴可以了解到,这个博客的方法是通过配置文件的方式而在 .NET Core 的 WPF 下是不会去读取 App.config 文件,那么此时应该如何开启?此时可以通过代码开启打开 App....
2020-08-24 00:52:19 332
原创 关于技术规划的想法
这是我和总工聊了一个下午之后,我的收获。但是技术规划是每个人都有自己的想法,同时和具体的团队和时机相关,再加上我自己没有实际参与任何的规划,我只是执行技术规划的其中很小的一个点,因此本文的内容一定存在争议我不期望说很多关键词,因此这部分很多大佬都有写过书。本文只聊我所看到的,和我所想到的本文没有涉及到具体的团队和事务,都是使用其他公司和团队作为例子。如果有小伙伴觉得不该发,我将会删除本文...
2020-08-21 01:19:32 437
原创 WPF 如何确定应用程序开启了 Pointer 触摸消息的支持
因为 WPF 在开启 Pointer 和没有开启的基础表现几乎相同,因此从业务层很难了解到当前是否开启了 Pointer 消息。本文从开发者的角度,通过 Windows 消息判断当前是否开启 Pointer 支持在 win10 支持默认把触摸提升 Pointer 消息 告诉大家如何在 Win10 下让 WPF 在 .NET 4.7 和以上框架支持 Pointer 消息那么如何确定这个 W...
2020-08-21 01:19:32 374 2
原创 WPF 启动屏幕键盘
在 Windows 的平板模式下才能自动在获取键盘输入焦点时弹出屏幕键盘,但是 Windows 的屏幕键盘做的粗糙,有时候不会自动开启屏幕键盘,此时需要使用代码辅助如果是非平板模式,以及系统没有检测到触摸,此时不一定能弹出屏幕键盘在 Win10 版本小于 10.0.14393 时,可以通过启动 TabTip.exe 应用打开屏幕键盘。而在大于等于 10.0.14393 版本需要使用 CO...
2020-08-20 02:12:55 1720
原创 C# 纯控制台创建一个全屏窗口
本文告诉大家如何使用 win32 方法创建一个全屏的窗口使用 user32.dll 的 CreateWindowExW 方法就能创建窗口,代码请看 internal class Program { private static void Main(string[] args) { var thread = new Th...
2020-08-18 08:13:37 1160 2
原创 WPF 在 XAML 写 C# 代码
本文告诉大家如何扔掉 cs 文件,在 xaml 写 C# 代码,将 xaml 和 C# 代码写在一个文件在 WPF 的 XAMl 有一个小伙伴也许看到但是忽略的特性就是 x:Code 特性,这个特性在 UWP 版本被干掉了,因为太好用了其实小伙伴忽略这个特性也是对的,因为从设计上这不是一个好的方案,将 XAML 和业务逻辑 C# 代码放在一个文件里面但是可以用来做和界面十分相关的逻辑,...
2020-08-15 05:08:22 1788
原创 win10 uwp 不显示 SplashScreen 欢迎界面的方法
在 UWP 的应用,欢迎页面 SplashScreen 是用户第一个看到的界面,这个界面是由 ApplicationFrameHost 读取 UWP 配置的图片显示出来的,因此 UWP 才能做到点击应用瞬间启动那么如果我不想显示启动界面 SplashScreen 的图片,可以如何做?有两个方法,第一个方法是比较推荐的,在应用程序如果能启动足够快,那么将不显示欢迎界面,如果启动不够快那么依然...
2020-08-15 05:08:22 545
原创 dotnet core 在 MAC 系统下删除应用程序自己后调 Process Start 方法将会抛出 Win32 异常
在 MAC 系统下,如果在运行过程中,应用程序的文件被删除了,那么此时如果应用程序执行了 Process.Start 方法时,将会抛出 Win32Exception 异常我写了一个工具 dotnetCampus.UpdateAllDotNetTools 用来更新所有的 dotnet tool 工具。因为 dotnetCampus.UpdateAllDotNetTools 也是一个 dotn...
2020-08-14 08:15:40 689
原创 dotnet OpenXML 解析 PPT 文本字体获取详解
在 OpenXML 的 PPT 的文本的字体是一个比较复杂的概念,即使在 OpenXML SDK 的辅助下,也需要自己写很多的逻辑。通过 ECMA 376 文档里面散落在各地的描述,和 dotnetCampus.OfficeDocumentZipper 工具的实验帮助之下,我摸到了本文将要告诉大家的规则,以及逻辑的实现有大量的 Office 相关软件在解析 PPT 文档使用的文本段的字体都...
2020-08-14 08:15:40 894
原创 dotnet 在 NuGet 上搜寻好用的 dotnet tool 工具
使用 dotnet tool 可以方便分发给小伙伴很多有趣的工具,而小伙伴们也可以通过 dotnet tool 一句命令安装上强大的工具。但有一个问题是,我如何知道有这样的工具? 当前可以在 nuget.org 上搜寻到 dotnet tool 工具进入 https://www.nuget.org 然后搜寻一个关键词,如我想要找到一个文件下载器此时将会返回给你 CBB 库的以及 do...
2020-08-13 02:21:29 409
原创 Xamarin Forms WPF 干掉默认的窗口导航条
在创建默认的 Xamarin Forms WPF 应用,将和 UWP 应用的界面不相同,在 WPF 项目会显示顶部蓝色的一条,看起来不好看,那么可以如何干掉他下图是一个默认的 Xamarin Forms 应用此时显示工具的蓝色条就是本文说的 窗口导航条,在 Xamarin Forms 的源代码,这个导航条是在 FormsWindow.xaml 文件里面,使用 PART_TopAppB...
2020-08-11 00:44:25 500
原创 WPF 从零手动创建承载 Xamarin Forms 项目
现在完全开源的 Xamarin Forms 是支持使用 WPF 进行承载,也就是使用 Xamarin 开发的控件等是可以在 WPF 项目使用的。本文来告诉大家如何在 WPF 中运行 Xamarin Forms 项目,让 Xamarin Forms 构建为 WPF 应用默认的 VS 没有加上 WPF 的模版,而官方文档 WPF Platform Setup - Xamarin 旧了一点,因为...
2020-08-11 00:44:25 745 2
原创 .NET Core 用 Blazor 做 jmeter 系列视频
本文来安利大家宇辰大大的 .NET Core 用 Blazor 做 jmeter 系列视频.Net Core 用Blazor做 jmeter 001之 Ribbon 布局 - Element Blazor环境配置.Net Core 用Blazor做 jmeter 002之 Ribbon 布局 - 组件API设计.Net Core 用Blazor做 jmeter 004之 Ribbo...
2020-08-10 00:43:03 694
原创 dotnet 删除自身程序的方法
本文告诉大家一个逗比方法可以用来删除程序自身我写了一个逗比 WPF 程序,这个程序会做邪恶的事情,会假装成小伙伴的桌面,然后小伙伴以为是桌面,接着打开任何程序都是在逗他的, 所以我期望在程序运行完成之后自动删除,这样小伙伴就不知道是谁做的那么如何使用有趣的方法删除程序自身可以试试下面代码 private static void DeleteItselfByCmd() { ...
2020-08-08 00:25:46 999
原创 Roslyn 读取 PackageReference 的版本号和内容
在写 msbuild 的预编译逻辑,如果想要拿到项目安装的 NuGet 库和版本,可以通过获取 PackageReference 的方法获取获取方法是放在 Target 里面,如下面代码 <Target Name="LabaijalacarDaqarheelu" BeforeTargets="Build"> <Ite...
2020-08-07 00:24:41 580
原创 开源公共组件仓库的更新日志应该如何写
在 GitHub 或 Gitlab 等开源的公共组件仓库里面,应该需要维护更新日志 CHANGELOG.md 文档,方便让用户和开发人员更简单明确的知晓项目在不同版本之间有哪些显著变动。但是没有任何一个能说服所有人的 更新日志 一定需要维护的原因,以及 更新日志 的文档格式我推荐 keepachangelog 如何维护更新日志 的做法,以下是 https://keepachangelog....
2020-08-06 00:30:30 630
原创 dotnet 获取进程命令行参数的工具
在 Windows 下,想要获取指定进程或所有进程的命令行参数,此时需要一些工具的辅助。本文安利大家一个好用的 dotnet 工具,用于获取 Win32 进程的命令行参数这是一个 dotnet 工具,因此安装特别方便,只需要在命令行输入下面代码就可以dotnet tool install -g dotnetCampus.Win32ProcessCommandViewer.Tool安装...
2020-08-06 00:30:30 636
原创 WPF 将 docx 的 Word 文件转换为 FlowDocument 显示
本文告诉大家如何将 docx 的 Word 文档在 WPF 中显示内容本文源代码请看 ArtMalykhin/wpf-embedded-docx在 Office 文档解析 文档格式和协议 咱可以了解到 Word 文档只是一个压缩文件里面的文件使用 xml 表示因此需要做的是将 xml 转 FlowDocument 在 WPF 界面显示,大概做到的效果就是丢失很多样式和特效,然后文本形式...
2020-08-06 00:30:30 1130
原创 dotnet OpenXML 文本字体的选择规则
在 Office 的文本排版里面,会根据字符选择使用哪个字体插槽。也就是实际上在 Office 里面可以在一个文本段里面指定多个字体,会根据实际的字符使用不同的字体在做 Office 解析的时候,在 OpenXML SDK 里面是没有找到表示字体的属性的,只能找到 LatinFont 和 EastAsianFont 和 ComplexScriptFont 和 SymbolFont 这几个...
2020-08-06 00:30:30 638
原创 高性能笔迹原理
本文只聊原理部分各个硬件都是独立的假定是需要做触摸屏的笔迹,那么触摸屏和屏幕是独立的硬件,而处理数据的主机又是独立的硬件独立的硬件意味着可以并行执行,因此最佳方式就是隐藏时间,即极限优化能做到是速度最慢的硬件的频率例如有三个硬件,如触摸框 和 屏幕 和 PC 主机从触摸框收到触摸消息,从 PC 进行处理告诉屏幕如何绘制,在屏幕进行绘制简单分为三个硬件,此时假定触摸框收到触摸点到将...
2020-08-05 00:50:05 398
原创 WPF 使用 Direct Manipulation 的方法
小伙伴是否了解在 UWP 和 WPF 触摸的滑动的顺滑是不相同的,一个原因是 UWP 使用了 Direct Manipulation 这个科技。这个科技需要采用 Pointer 消息的支持,本文告诉大家如何使用本文的代码都是从 Using DirectManipulation with WPF 这篇博客抄的可以运行的代码放在 github 欢迎小伙伴访问顶层的用法效果如下 ...
2020-08-04 01:14:46 412
原创 WPF 让 TextBox 支持水平滚动
超级简单的方法,只需要设置 HorizontalScrollBarVisibility 可见就可以了但是为什么我设置了,没有水平滚动条呢?也许是设置了 TextWrapping 属性 <TextBox x:Name="Text" HorizontalScrollBarVisibility="Visible" Margin=...
2020-08-04 01:14:46 967
原创 C# dotnet 使用判断文件夹存在的方法判断一个文件路径会怎样
假定我有一个文件的路径,我将这个文件路径放在文件夹判断方法里面,请问此时返回的是存在还是不存在?答案是返回不存在如下面测试代码,这里的 GelteajoutrerebaKoutigasremawcho.dll 就是程序集,也就是文件是存在的,那么放在 DirectoryInfo 判断输出的内容是否存在namespace GelteajoutrerebaKoutigasremawcho{...
2020-08-04 01:14:46 615
gtk 3.24.24 for win32
2022-08-08
鼠标光标大全1.0.0.zip
2021-08-05
Microsoft.Templates.4.1.21179.1.vsix
2021-07-21
ECMA-376.7z
2021-07-03
OpenXMLSDK v25.7z
2021-06-05
Fix WriteableBitmap hangs when source bitmap is rendered on other thread
2021-04-17
WPF 私有构建版本 2021.4.17.zip
2021-04-17
sublime_merge_build_2039_x64_setup.exe
2020-12-23
MonoFramework-MDK-6.12.0.114.macos10.xamarin.universal.pkg
2020-12-23
nuget 5.8.0.6930.exe
2020-11-16
myscript-iink-recognition-text-zh_CN 1.3.zip
2020-07-20
Docker Desktop Installer 2.3.0.3 45519 windows community.7z
2020-07-05
dotnet-sdk-5.0.100-preview.7.20319.6-win-x64.exe
2020-06-23
sublime_merge_build_2020_x64_setup.exe
2020-06-22
vsdbg-16-6-20415-1 vsdbg-linux-musl-x64.zip
2020-06-22
vsdbg-16-6-20415-1 vsdbg-linux-x64.zip
2020-06-22
aspnetcore-runtime-3.1.4-linux-x64.tar.gz
2020-05-23
DPC Latency Checker 1.4.0.zip
2020-05-19
strawberry-perl-5.28.1.1-1-win64-x64.zip
2020-04-23
Snoop 3.0.0-alpha0116.msi
2020-04-18
dotnet-runtime-3.1.2-linux-x64.tar.gz
2020-04-03
aspnetcore-runtime-3.1.2-linux-x64.tar.gz
2020-04-03
影子输入法1.5.6稳定版.7z
2020-04-03
dotnet-core-uninstall-1.0.115603.msi
2020-03-12
PowerShell.Linux.x64.7.0.0-rc.2.nupkg
2020-03-07
dotnet-sdk-3.1.102-linux-x64.tar.gz
2020-03-07
dotnet-sdk-5.0.100-alpha1-015515-win-x64.exe
2020-03-06
mono-6.6.0.161-x64-0.msi
2020-03-01
UnitySetup-WebGL-Support-for-Editor-2018.3.7f1.exe
2020-03-01
dotnet-sdk-3.0.102-win-x64.exe
2020-03-01
mono-wasm-e894d683f9f.zip
2019-11-05
mono-wasm-f5cfc67c8ed.zip
2019-11-05
microsoft.dotnet.ilcompiler.1.0.0-alpha-27527-02.nupkg
2019-10-24
我想在linux运行c#程序,请问我需要做什么?
2015-04-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人