lindexi

林德熙 - 微软最具价值专家和 .NET 基金会成员

林德熙

UWP 转换 IBuffer 和其他类型

本文告诉大家在 UWP 如何转换 IBuffer 为 string 和 stream 类

Roslyn 在 msbuild 的 target 判断文件存在

在使用 msbuild 定义编译时运行的逻辑,可以使用 Exists 判断文件是否存在

WPF 如何计算矩形内一个坐标相对另一个矩形的坐标

我在 WPF 中拿到一个矩形里面的一个坐标,在这个矩形里面包含了另一个矩形,我想将这个点转换到另一个矩形里面的坐标。也就是说我拿到一个点,这个点的左上角(0,0)坐标就是矩形1的左上角坐标,而我想要将这个点转换为以矩形2的左上角坐标作为原点的坐标系的坐标

dotnet core 使用 GBK 编码

本文告诉大家如何在 .NET Core 中使用 GBK 编码

dotnet core 使用 CoreRT 将程序编译为 Native 程序

现在微软有一个开源项目 CoreRT 能通过将托管的 .NET Core 编译为单个无依赖的 Native 程序 这个项目现在还没发布,但是能尝试使用,可以带来很多的性能提升 现在已经正式发布,合入到 dotnet 主干里,可以简单方便的使用

asp dotnet core 通过图片统计 csdn 用户访问

在 csdn 的访问统计里面,只能用 csdn 提供的访问统计,因为在 csdn 中不支持在博客加上 js 代码,也就是无法使用友盟等工具统计。 通过在 asp dotnet core 创建一个图片链接的方式,将这个链接作为图片放在 csdn 的博客,可以在链接被访问的时候统计用户访问

WPF 高性能笔

本文告诉大家WPF的INK的实现,和如何做一个高性能的笔。

WPF 非客户区的触摸和鼠标点击响应

默认在 WPF 里面是不响应非客户区的鼠标事件,但响应触摸事件

WPF 绑定命令在 MVVM 的 CanExecute 和 Execute 在按钮点击都没触发可能的原因

在 WPF 推荐使用 MVVM 绑定命令,但是绑定命令会存在很多坑,其中一个就是焦点的问题。如果在用户点击按钮的时候出现了焦点修改,那么此时的命令是不会被触发

WPF 笔刷绑定不上可能的原因

在 WPF 中如背景色等都是使用笔刷,在使用绑定的时候可能绑定不上,本文告诉大家绑定不上可能的原因和调试方法

WPF 禁用实时触摸

本文告诉大家如何使用代码禁用 WPF 的触摸消息,解决一些问题,或者准确来说挖出更大的坑

WPF 模拟触摸设备

在 WPF 中触摸只是框架的一层,可以通过代码模拟触摸

WPF 从触摸消息转触摸事件

在 WPF 程序可能因为一些坑让程序触摸失效,如果此时还可以收到系统的触摸消息,那么可以通过从触摸消息转触摸事件解决程序触摸失效但不适合所有触摸失效程序

C# 通过编程的方法在桌面创建回收站快捷方式

基本所有的桌面都会存在回收站快捷方式,如果想要多创建几个快捷方式,点开就是回收站,请看本文的方法

C# 标准性能测试高级用法

本文告诉大家如何在项目使用性能测试测试自己写的方法

C# 字典 Dictionary 的 TryGetValue 与先判断 ContainsKey 然后 Get 的性能对比

本文使用 benchmarkdotnet 测试字典的性能,在使用字典获取一个可能存在的值的时候可以使用两个不同的写法,于是本文分析两个写法的性能。

C# 反射调用私有事件

在 C# 反射调用私有事件经常会不知道如何写,本文告诉大家如何调用

WPF 全屏透明窗口

本文告诉大家如何在 WPF 做一个全屏的透明窗口,和全屏透明窗口的坑

C# 判断方法是否被子类重写

本文告诉大家如何通过反射判断某个方法是否被基类重写

WPF 使用 RawInput 接收裸数据

在 Windows 提供很底层的方法接收硬件设备的裸数据,通过接收裸数据可以做到性能更高的全局键盘,还能支持多个鼠标。但是用这个方法需要自己解析裸数据,同时会因为接受到很多消息降低性能

dotnet Blazor 用 C# 控制界面行为

微软很久就在做 Blazor 但是我现在才开始创建一个测试项目,我想用 C# 去控制 HTML 界面。小伙伴也许会问现在前端不是烂大街么,为什么还需要 Blazor 来做。可能原因只有一个,就是可以使用 C# 写脚本,代码比较清真

WPF 使用 MyScript 的 IInk 做手写识别

有小伙伴问我可以如何在 WPF 使用其他第三方提供的库进行手写识别,上次 MyScript 的工程师和我吹,他做了世界上识别最好的库,本文就来安利一下大家这个库。这里库是收费的库,但是可以免费使用,只要不是有大量用户,这个库还是免费用的。用这个库可以在 Windows 平台识别数字、多个不同语言、数学公式手写识别

dotnet C# 获取本机外网 IP 地址

本文通过 SOHU 提供的服务获取本机的外网 IP 地址

WPF 添加窗口消息钩子方法

本文告诉大家如何添加窗口消息钩子

WPF How to get plain text from RichTextBox

We can not find any function to get plain text from RichTextBox. But we can use TextRange to get plain text.

C# dotnet 线程不安全的弱引用缓存

很多逻辑都会使用内存做缓存,这样可以提高运行效率。但是有一些逻辑很少会执行,但是如果有执行就是频繁调用。如我写了文本编辑器,在我打开文件的逻辑,将会不断调用正则判断逻辑,而平时编辑很少会调用。如果将这部分的正则逻辑缓存了,那么可以提升打开文件速度,但是在打开文件之后这部分就成为内存垃圾了。本文给大家一个弱引用缓存,也就是在频繁使用时从内存获取,在不使用时会被回收,这样可以提升性能也能减少内存使用

asp dotnet core 简单开发P2P中央服务器

在做P2P的时候,如何让设备发现是整个开发里面最重要的部分。可以采用的方式有组播、扫描局域网、追踪服务器发现等方法。其中效率最高,发现效果最好的也就是使用中央服务器了。本文告诉大家如何使用 ASP.NET Core 写一个简单的 P2P 追踪服务器

C# 强转空会不会出现异常

有小伙伴问我强转 null 会不会出现异常,我告诉他,如果是引用类型那么不会,如果是值类型,那么会出现空异常

C# dotnet 获取整个局域网的 ip 地址

局域网可以使用的 IP 地址有很多,我写了一段代码用来枚举所有可以用的 ip 地址

Inno Setup 安装包脚本 Run 的 Flags 标记

在制作安装包的时候,可以在 Inno Setup 安装包脚本的 Run 里面添加在解压缩安装包文件完成之后,整个安装结束之前执行指定的命令,是作为定制化最高的内容

WPF 使用 SharpDx 渲染博客导航

我写了很多在 WPF 使用 SharpDx 渲染的博客,但是有小伙伴吐槽说这些博客没有一个好看的顺序,我将所有的 SharpDx 的博客按照顺序放在下面

WPF 使用 SharpDx 异步渲染

本文告诉大家如何通过 SharpDx 进行异步渲染,但是因为在 WPF 是需要使用 D3DImage 画出来,所以渲染只是画出图片,最后的显示还是需要 WPF 在他自己的主线程渲染。

C# 判断系统版本

本文告诉大家如何判断系统是 win7 还是 xp 系统

WPF 如何跨线程重新抛出异常

有一些代码是在框架层写的,这部分代码不应该在后台线程抛出异常,如何将后台线程的异常在主线程抛出,同时不会带上主线程的堆栈可以保留异常的全部信息