lindexi

林德熙 - Windows 10 App Developer

林德熙

WPF 启动屏幕键盘

在 Windows 的平板模式下才能自动在获取键盘输入焦点时弹出屏幕键盘,但是 Windows 的屏幕键盘做的粗糙,有时候不会自动开启屏幕键盘,此时需要使用代码辅助

WPF 在 XAML 写 C# 代码

本文告诉大家如何扔掉 cs 文件,在 xaml 写 C# 代码,将 xaml 和 C# 代码写在一个文件

dotnet core 在 MAC 系统下删除应用程序自己后调 Process Start 方法将会抛出 Win32 异常

在 MAC 系统下,如果在运行过程中,应用程序的文件被删除了,那么此时如果应用程序执行了 Process.Start 方法时,将会抛出 Win32Exception 异常

dotnet 删除自身程序的方法

本文告诉大家一个逗比方法可以用来删除程序自身

WPF 修改屏幕亮度

在 WPF 中可以使用 Dxva2 或 GDI 的方法调整屏幕亮度或获取屏幕亮度

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

本文简单告诉大家如何在 .NET Core 里面使用 AOP 切面编程,使用 DispatchProxy 做任意接口的动态代理实现

WPF 附加属性提供某个元素拥有拖拽窗口的功能

我需要窗口内的某个元素拥有拖动整个窗口的功能,也就是这个元素在拖动的时候是拖动整个窗口。而且我还开出一个有趣的方法,这个作为窗口的拖拽的元素如果是用户在元素上拖动,那么将会拖动窗口,如果用户是点击,将会触发点击事件

WPF 通过辅助方法在 csharp 代码写出 XAML 界面效果

我看到了 MUV 的写法,发现其实默认 WPF 也是支持了大部分了,小部分还不支持的需要改一下 WPF 框架,反正现在 WPF 框架也开源了,我也算是 WPF 框架的开发者,也能构建发布自己的版本

dotnet 给任意对象附加任意属性的库

在使用 dotnet 的时候,有时候会期望某个类多添加一个属性,但是这个类可能是放在引用库里面不能直接修改,或者添加一个属性会影响这个类的设计。那么有没有方法和 WPF 一样支持给任意对象附加任意的属性?本文告诉大家一个好用的库,用来给任意的对象附加任意的属性

dotnet ConditionalWeakTable 的底层原理

在 dotnet 中有一个特殊的类,这个类能够做到附加属性一样的功能。也就是给某个对象附加一个属性,当这个对象被回收的时候,自然解除附加的属性的对象的引用。本文就来聊聊这个类的底层原理

dotnet core 使用 ef 迁移常见问题

本文记录一些常见的使用 EF Core 的问题

WPF 通过 dotnet core 发布单文件时 log4net 无法使用

在使用 dotnet core 版本的 WPF 可以将发布文件打包为一个exe文件,但是此时小伙伴发现 log4net 无法运行,因为 log4net 说找不到配置文件

dotnet 删除文件夹方法

使用 C# 可以在 dotnet 一句话删除文件夹,但是这个方法坑,本文给大家一个好用的方法删除文件夹

win10 uwp 字符文本转语音声音文件方法

在 UWP 中,支持将传入的字符串文本内容转换为音频语音,可以将这个语音声音通过 MediaElement 播放,或者将这个音频保存到文件里面

WPF dotnet core 如何开启 Pointer 消息的支持

在 WPF 下,可以使用和 UWP 一样的 Pointer 触摸架构,只是开启的方式和 .NET Framework 版本有细微的差异

WPF 使用 Direct Manipulation 的方法

小伙伴是否了解在 UWP 和 WPF 触摸的滑动的顺滑是不相同的,一个原因是 UWP 使用了 Direct Manipulation 这个科技。这个科技需要采用 Pointer 消息的支持,本文告诉大家如何使用

Roslyn 在 NuGet 包中放注释 xml 文件的方法

本文告诉大家如何在打出的 NuGet 包含代码的注释,这样安装了 NuGet 的小伙伴就可以在 VS 上看到对应的方法和类的注释

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

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

Roslyn 引用某个文件夹所有文件作为链接

在 SDK 格式的项目文件可以通过简单代码引用某个文件夹里面指定后缀的文件作为项目文件

dotnet 编译 Rolsyn 编译器

这是一个套娃,在编译 Rolsyn 编译器之前需要有 Rolsyn 编译器,用 Rolsyn 编译器来编译 Rolsyn 编译器。本文来告诉大家如何构建 Rolsyn 编译器,步骤特别少,很简单

NuGet 更新库新版本的缓存问题

我有一个 NuGet 库有新的版本,但是我的服务器速度不够快,此时我第一次使用 NuGet 还原找不到库。在我服务器索引完成之后,再次使用 NuGet 会依然找不到这个库,而此时服务器准备完成。这是 NuGet 的缓存的坑

dotnet 获取进程命令行参数的工具

在 Windows 下,想要获取指定进程或所有进程的命令行参数,此时需要一些工具的辅助。本文安利大家一个好用的 dotnet 工具,用于获取 Win32 进程的命令行参数

GitHub 如何过滤某个作者的 MR 内容

在 WPF 开源仓库里面有大量的机器人的 MR 但是我想要了解现在 WPF 仓库有多少开发者在贡献代码,此时如何在 GitHub 中过滤某个作者的 MR 内容

Office OpenXml SDK 使用 Fallback 图片显示 Ole 元素

我在写一个 WinForms 程序用来读取 Word 里面的图片显示,在解析 Word 等 Office 文档,会看到一些 ole object 元素,而有些 ole object 会有 Fallback 图片,用这些备用的图片可以显示 ole 元素

dotnet 配置 github 自动打包上传 nuget 文件

在上一篇博客告诉小伙伴如何使用 github 做持续集成,本文告诉大家如何配置 github 让在 master 每次合并都会自动创建一个 nuget 文件,自动上传

dotnet 更新本地所有 Git 仓库的工具

本文来安利大家一个我做的好用的工具,这个工具可以更新某个文件夹下所有 Git 仓库,通过调用命令行的 Git 命令实现更新。这是一个 dotnet tool 工具,所有代码在 GitHub 完全开源

dotnet 构建 SourceRoot items must include at least one top-level item when DeterministicSourcePaths is true 失败

在使用 dotnet 构建的时候提示 error : SourceRoot items must include at least one top-level (not nested) item when DeterministicSourcePaths is true 构建失败

dotnet 如何调试 SmartSql 的实际执行 SQL 语句

在使用 SmartSql 中的 SQL 语句是支持进行属性替换,在调试时如何拿到实际执行的 SQL 命令

dotnet 的 TaskCompletionSource 的 TrySetResult 是线程安全

在创建一个 TaskCompletionSource 期望让等待的逻辑只会被调用一次,而调用的是多线程,可以使用 TrySetResult 方法,这个方法是线程安全,只会让 TaskCompletionSource 被调用一次

dotnet 定制 ILogger 实现

默认在 dotnet 里面框架提供了 Microsoft.Extensions.Logging 可以和依赖注入做日志框架,而有些业务,如需要自己定制日志行为,此时就需要定制日志

dotnet 手工打一个 dotnet tool 包

现在依靠 dotnet 平台,可以方便分发工具,利用 NuGet 服务进行分发和使用工具。打一个 dotnet tool 包,可以将这个包上传到 NuGet 上,小伙伴通过和安装 NuGet 相同方式就可以将工具安装在本机上。本文将告诉大家如何手工打一个 dotnet tool 包,方便小伙伴自己写工具用来创建代码

dotnet 如何在 dotnet test 单元测试控制台里输出日志内容

我在协助小伙伴调试一个只有在 GitHub 的 Action 自动测试时才会炸的问题,而我发现默认的控制台输出是不会在 GitHub 的 Action 显示的,换句话说,在使用 dotnet test 时,代码里面使用的控制台输出不会进行输出

dotnet 制作 docker 提示 Insufficient space in download directory 磁盘空间不足

随着 .NET 5 的发布,我在给团队内部打一个特殊的 .NET 5 的 docker image 过程,发现了提示 Insufficient space in download directory 磁盘空间不足

dotnet 关于 SmartSql 的 SQL 语句的属性替换前缀说明

本文将告诉大家在 SmartSql 的 SQL 语句的属性前缀 ParameterPrefix 的默认值和用法以及原理

dotnet 在 Linux 下的 GDI 库对 EMF 图片格式的支持

我想要在 UOS 上支持上古的图片格式,也就是差不多废弃了 20 年的 EMF 和 WMF 增强图形格式,这两个格式十分古老,而在 Windows 下也存在一些不兼容的图片。我在 Windows 下是使用 GDI+ 的方法支持的,可以将 EMF 转 PNG 或 jpg 等格式。而在 UOS 下,因为 GDI+ 是跨平台的,可以使用跨平台的 System.Drawing.Common 库进行转换