walterlv

吕毅 - Windows 10 Developer

吕毅 - walterlv


使用 filter-branch 从 Git 历史中删除一个文件

吕毅 发布于 2017-09-19 20:19

昨天帮助小伙伴从 Git 提交历史中删除了一个文件,虽然一开始尝试使用 filter-branch,但是因为需要的时间太久,就放弃了,转而使用 cherry-pick 的方案。

但是,毕竟 Git 官方给的方案是 filter-branch,所以今天就在另一位小伙伴的帮助下好好阅读 Git 官方文档:Git - 重写历史Git - git-filter-branch Documentation

Why Unload Twice

吕毅 发布于 2017-09-19 18:32

Sometimes WPF raise unload event twice. In this case, it happens when a logical tree is build all by myself. Why unload twice? It really confused me.

Any help would be appreciated! The repo: walterlv/why-unload-twice @ GitHub

用微软拼音快速输入自定义格式的时间和日期

吕毅 发布于 2017-09-18 21:58

用微软拼音输入 rq 或者 sj,我们可以在第五个候选词分别得到 2017年9月18日22点05分。但是,其实我想输入的是:2017-09-182017-09-18 22:05:51 +0800。在设置里面折腾一番没找到之后,原本以为只好自己输入了,没想到后面还是找到了方法。

找回你 C 盘丢失的空间(SpaceSniffer)

吕毅 发布于 2017-09-17 15:13

什么鬼!C 盘空间满了!我分了 120GB 啊!!!是不是要删软件删游戏,是不是要重装系统?

C 盘空间已满

尤其是程序员,那么多开发环境(Visual Studio 不说话 :))空间占用那叫一个大啊!为了避免重装系统,我找到了一款神奇的软件——SpaceSniffer。

[译] 搭建一个托管在 GitHub Pages 的 Jekyll 博客,并添加 Disqus 评论功能

吕毅 发布于 2017-09-15 20:50

本文翻译自 Setup up a jekyll blog using github pages and disqus comments,原作者 Vincent Daubry

想不想马上就开始搭建个人博客,简单易学,还好看?这篇文章将教你用 Jekyll 搭建博客,配上一款养眼的主题,然后跑在 GitHub Pages 上。

如何向整个 Git 仓库补提交一个文件

吕毅 发布于 2017-09-13 19:10

微软在 Reference Source 里开放了 .Net Framework 多个版本的源码。为了更方便地阅读这些源码,我们把每一个版本都下载下来后按顺序提交到 git 仓库中。

但是!!!居然忘了在第一次提交之前放一个 .gitignore 文件!如果没有这个文件,那我们每次打开源码查看都会带来一大堆不明所以的修改文件。那么多的源码,绝对不会想重新挨个版本再提交一次。于是找到了一条可以解决这个问题的 git 命令。

Exception.Data 为异常添加更多调试信息

吕毅 发布于 2017-09-12 15:44

我们抛出异常是为了知道程序中目前的状态发生了错误。为了能够知道错误的详细信息便于我们将来避免产生这样的错误,我们会选用合适的异常类型,在异常中编写易于理解的 message 信息。但是有时我们需要更多的信息进行调试才能帮忙在将来避免这个异常。

利用 TypeConverter,转换字符串和各种类型只需写一个函数

吕毅 发布于 2017-01-17 18:13

本文代码基于 .NET Framework 实现。

本来只想进行简单的配置存储的,不料发现 .NET 的基本类型多达十多种。于是,如果写成下面这样,那代码可就太多了哦:

WPF 渲染系统(WPF Render System)

吕毅 发布于 2017-01-16 14:50

一个朋友问我:“为什么几千个 Visual 在视觉树上,增加删除几个能够那么快地渲染出来?”这个问题问倒我了,因为我对 WPF 渲染系统的了解很少,更不知道渲染部分和 UI 逻辑部分是如何分工的。
在此机会下,我毫不犹豫地打开 https://referencesource.microsoft.com/ 阅读 WPF 的源码。

解决XAML设计器中遇到的那些错误

吕毅 更新于 2016-08-02 14:33,发布于 2016-07-31 22:29

使用 Visual Studio 开发 WPF 程序时,XAML 设计器能够极大提高我们的开发效率。不止是写出的代码无需运行就能看到效果,还有能够直接在设计器中点击定位元素以及拖拽改变属性。

使用链接共享 Visual Studio 中的代码文件

吕毅 发布于 2016-08-01 11:04

如果你还在通过复制来共享代码就太 out 了!
我们知道,将公共的代码抽取成库是非常好的代码复用手段,但有时我们需要复用的代码(或文件)无法提取到库中。这时,Visual Studio 自带的 Link 功能就派上用场了。

KeyDown/PreviewKeyDown 事件中监听 Alt 键按下

吕毅 发布于 2016-05-09 10:59

在 WPF 应用程序(或者其他 Windows 应用程序中),为了监听 Alt 键按下,我们可以在 KeyDown 事件中写源码。然而,运行一看,发现并没有什么用。打个断点看下会发现,e.Key 的值是 Key.System。这就奇怪了,Key.System 是个什么鬼?

关联一个文件扩展名或协议

吕毅 发布于 2015-07-07 20:00

在 Windows 中关联程序或协议是通过注册表项实现的,编写任意一个程序甚至只是个脚本来写注册表即可实现。

创建快捷方式

吕毅 发布于 2015-04-07 12:48

虽然我们都知道快捷方式是一种特殊的文件,扩展名为 lnk。但是使用 C# 代码创建一个快捷方式却不那么容易。本文分享三种不同的方式创建快捷方式。

让 Windows 桌面程序运行在 Windows 应用上面

吕毅 发布于 2015-03-31 16:47

启动系统自带的放大镜程序,我们会发现即便进了 Windows 8 或 Windows 10 的开始屏幕,它也依然显示在最顶层,而其他程序早已不见踪影。如果你为任务管理器开启置顶效果,你会发现它也能显示到开始屏幕的顶层。这是怎么做到的呢?