lindexi

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

林德熙

WPF 可获得焦点属性

本文来告诉大家 WPF 的可获得焦点属性,如果希望一个元素可以获得键盘输入,那么就需要一个元素是可以获得焦点,而且焦点就在元素上。

WPF 判断调用方法堆栈

最近遇到一个问题,经常有小伙伴在类A的构造里调用静态函数B,但是这时B依赖于A的初始化完成,于是就无限循环。所以我需要在判断小伙伴调用B时是否在A的构造方法里,如果是就给他异常。 本文告诉大家如何使用 StackTrace 获得调用堆栈,并且判断当前是否构造调用

WPF 判断USB插拔

本文告诉大家如何在 WPF 在用户插拔 USB 收到消息

WPF 修改按钮按下的颜色

本文告诉大家如何使用附加属性修改按钮按下去时的背景

WPF 修改图片颜色

本文告诉大家如何修改图片的颜色,如去掉图片的蓝色

UWP WPF 解决 xaml 设计显示异常

本文告诉大家如何解决 xaml 设计显示异常

C# 写系统日志

因为我不想使用自己写文件,我的软件是绿色的,所以把日志写到 Windows 日志。

WPF 读取硬件序列号

本文告诉大家如何在 WPF 读取硬件的序列号

WPF 渲染级别

很少人会知道 WPF 也可以知道当前的显卡能支持的渲染级别。 根据显卡的不同,包括显存、纹理等的支持是否打到要求,指定渲染级别。

WPF 在 DrawingContext 的 push 如何使用

本文告诉大家如何使用 DrawingContext 变换,修改画出的内容。

WPF 在 Alt+Tab 隐藏窗口

最近在开发一个 Toast 窗口,因为这个窗口不能在显示之后关闭,因为可能用户会不停让窗口显示,所以只能 Hide 。但是这样会在 切换窗口看到这个窗口,所以我找到了一个方法来让 WPF 窗口不在切换窗口显示。

Windows 10 16251 添加的 api

本文主要讲微软最新的sdk添加的功能,暂时还不能下载,到 7月29 ,现在可以下载是 16232 ,支持Neon效果。 实际上设置软件最低版本为 16232 就自动支持 Neon 效果。 主要添加了 AppDataPaths SystemDataPaths 等

WPF 获得触笔悬停元素上

触笔可以获得悬停在元素上,这时触笔没有碰到元素,没有碰到屏幕。

WPF 拖动时出现 Invalid FORMATETC structure

如果在 WPF 需要支持一个东西可以拖动,那么可以使用 DragDrop ,但是使用这个之后就出现了异常

System.Runtime.InteropServices.COMException was unhandled
Message: An exception of type 'System.Runtime.InteropServices.COMException' occurred in PresentationCore.dll and wasn't handled before a managed/native boundary
Additional information: Invalid FORMATETC-Structure (Exception HRESULT: 0x80040064 (DV_E_FORMATETC))

WPF 异常 NativeWPFDLLLoader.LoadNativeWPFDLL

如果发现出现下面异常,可以尝试重装 .net Framework

WPF 只允许打开一个实例

我们有时候只希望我们的程序只打开一个实例,也就是我们的软件只有一次被打开。 那么我们可以通过一个办法知道,在这个软件打开前是不是打开过一个,还没关闭。也就是是否存在另一个程序在运行。

C#命令行解析工具

我将告诉大家两个方法去获取C#输入的命令行参数。

Github 给仓库上传 NuGet 库

在 Github 可以发布自己的 NuGet 库,本文将告诉大家如何发布

Roslyn 在多开发框架让 msbuild 的 Target 仅运行一次

在写预编译框架,因为安装项目会基于多个平台,也就是对应的 Target 会执行多次,而我需要的只是执行一次就可以

VisualStudio 断点调试详解

本文详细告诉大家 VisualStudio 断点调试的功能和使用方法,本文使用的是最新 VisualStudio2019 的功能,也许在你看到这篇博客的时候这个版本已经过时

WPF Process.Start 出现 Win32Exception 异常

我在使用 WPF 调用其他软件的时候,发现出现Win32Exception异常。

UWP 转换 IBuffer 和其他类型

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

Roslyn 在 msbuild 的 target 判断文件存在

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

WPF 使用 Win2d 渲染

在当前所有渲染框架里面,做 2D 渲染的,最好的框架是 Win2d 这个提供了大量底层接口封装,不仅性能高同时接口设计非常好 在很久之前,只有在 UWP 等现代应用才能使用 Win2d 而 WPF 是不能使用的。好在微软开放了一些黑科技,可以在 WPF 上使用 Win2d 渲染,下面就让我告诉大家如何在 WPF 上使用

VisualStudio 解决方案筛选器 slnf 文件

在 VisualStudio 2019 发布的时候,有一个强大的功能是不加载项目打开提升性能,此时可以用到解决方案筛选器 slnf 文件。这个文件将会带来很大的性能提升。本文将会详细告诉大家这个文件的格式以及带来的好处

VisualStudio 使用多个环境进行调试

在 VisualStudio 2017 支持使用 launchSettings.json 文件定义多个不同的环境进行调试

VisualStudio 使用三个方法启动最新 C# 功能

本文告诉大家如何在 VisualStudio 打开最新的 C#,现在的微软更新 C# 很快,那么如何让 VisualStudio 在项目使用最新的

VisualStudio 2019 如何离线下载

本文告诉大家如何离线下载 VisualStudio 2019 离线安装

Roslyn 如何在 Target 引用 xaml 防止文件没有编译

在使用新的项目格式,可以使用 Target 添加项目,但是有一些项目需要在合适的时候添加,如果添加早了,那么会让用户看到这些文件,如果添加的时间是在引用编译之后,那么文件将无法进行编译。

Roslyn 使用 Directory.Build.props 文件定义编译

本文告诉大家 Directory.Build.props 是什么有什么优点?如何使用 Directory.Build.props 文件定义编译

Resharper 去掉注释拼写

最近在 Resharper 的 2018.2.1 的版本,提供了单词拼写功能,如果自己写错了单词,可以在 Resharper 提示

WPF 使用 RawInput 接收裸数据

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

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.

Roslyn how to use WriteLinesToFile to write the semicolons to file

As you know, the WriteLinesToFile will separate the item by semicolons. How can we use WriteLinesToFile to write the semicolons to file?