walterlv

吕毅 - Windows 10 Developer

吕毅 - walterlv


GitHub 的 Pull Request 和 GitLab 的 Merge Request 有区别吗?

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

在 GitHub 上混久了,对 Pull Request 就……;在 GitLab 上混久了,对 Merge Request 就……然而它们之间有不同吗?为什么要用两个不同的名称?

DependencyProperty.UnsetValue 的正确打开方式

吕毅 发布于 2017-10-10 23:21

无论是 WPF,还是 UWP,只要你用了绑定或者标记扩展,一定会碰到一个神奇的值——DependencyProperty.UnsetValueUnsetValue 是什么意思?为什么会出现这个值呢?如果要让 UnsetValue 为我们所用,正确的用法又是什么呢?

查询已连接 Wi-Fi 的密码(入门和进阶两种方法)

吕毅 发布于 2017-10-09 21:01

新买了手机或者带着朋友去好玩的地方,我自己的 Windows 10 设备连接上了 Wi-Fi,朋友也希望连接上,但是我忘记了密码怎么办?

CaptureMouse/CaptureStylus 可能会失败

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

在 WPF 中,如果我们要做拖动效果,通常会调用一下 CaptureMouse/CaptureStylus 以便当鼠标或手指离开控件的时候依然能够响应 MoveUp 事件。不知有没有注意到这两个函数其实是有 bool 返回值的?——是的,它们可能会失败。

在 Windows 10 上为 WPF 窗口添加模糊特效(就像开始菜单和操作中心那样)

吕毅 更新于 2017-10-02 09:00,发布于 2017-10-02 00:14

其实我是希望能够找到为 Win32 桌面程序实现 Fluent Design System 效果的,不过一直没找到。倒是发现了一个可以让 Win32 桌面程序做出类似 Windows 10 开始菜单和操作中心那种模糊效果的方法。

写这篇文章并不意味着我推荐大家这么去做,只是希望将方法总结出来,作为一个研究点而已。

本文提供了一个完整的用于在 Windows 10 上实现模糊特效的 C# 类,没有放到 GitHub 也没有其他类型的开源。如果需要直接拿走就好。

用 AppContext 解决类库的更新兼容问题

吕毅 发布于 2017-09-30 23:45

还记得微软在 Mitigation: Pointer-based Touch and Stylus Support 中告诉大家如何在 .Net Framework 4.7 中迁移 WPF 的触控到基于 Pointer 消息?记得关键的 <AppContextSwitchOverrides value="Switch.System.Windows.Input.Stylus.EnablePointerSupport=true"/> 这一句吗?

有没有好奇为何这一句话能用来控制微软基础类库中某一块功能的行为呢?阅读本文将了解微软为开发者提供的一套类库更新的兼容性解决方案——AppContext

让 GitHub Pages 强制使用 HTTPS(含码云的 gitee/oschina.io)

吕毅 更新于 2017-09-29 10:19,发布于 2017-09-17 16:01

一天晚上在手机上浏览自己的博客时,发现居然充斥着各种恶心的广告!顿时内心犹如一万只神兽呼啸而过,不过又能怪谁呢?!

为避免引起读者不适,不贴图,只放链接,感兴趣自己点开看:图 2图 1

本文的重点其实是括号里的码云(gitee.io)。

彻底删除 Git 仓库中的文件避免占用大量磁盘空间

吕毅 更新于 2017-09-29 07:36,发布于 2017-09-18 23:45

今天早上照常 git fetch --prune 获取大家写的代码,发现需要好长时间,但没怎么在意。直到下午小伙伴们才发现居然 fetch 了一个多 GB!询问才发现小伙伴 JAKE(其实我是在推荐博客)误传了 1.47GB 的垃圾文件。关键是等发现时,develop 分支上已经有 20+ 个基于这个文件的新提交了。

小伙伴说“不要紧,现在我已经删除它了!”突然一阵后背发凉,我们才 900M 的仓库肯定一下子飙到了 2000+M,必须马上处理之。

优化 UWP 中图片的内存占用

吕毅 更新于 2017-09-29 07:36,发布于 2017-09-17 12:44

跟图片打交道的 UWP 应用或多或少都会遇到图片带来的性能问题,就算不主要处理图片,做个论坛做个新闻客户端都涉及到大量图片。一个帖子、一篇文章里多半都是些高清大图,这些图片一张即可占用程序 1~2M 的内存空间。普通的写法内存很快就爆了,那么 UWP 中我们可以用哪些方法优化呢?

深入了解 WPF Dispatcher 的工作原理(PushFrame 部分)

吕毅 更新于 2017-09-29 07:35,发布于 2017-09-26 03:49

在上一篇文章 深入了解 WPF Dispatcher 的工作原理(Invoke/InvokeAsync 部分) 中我们发现 Dispatcher.Invoke 方法内部是靠 Dispatcher.PushFrame 来确保“不阻塞地等待”的。然而它是怎么做到“不阻塞地等待”的呢?

阅读本文将更深入地了解 Dispatcher 的工作机制。

使用 PowerShell 获取 CLR 版本号

吕毅 发布于 2017-09-28 00:24

在我之前写的一篇文章.Net Framework 4.x 程序到底运行在哪个 CLR 版本之上中,我们说到 CLR 版本和 .Net Framework 基础库之间是有差别的,其版本号更是有差别的。不过其中并没有给出方法获取 CLR 的版本号。本文将给出几种方便的获取 CLR 版本号的方法。

WPF/UWP 绑定中的 UpdateSourceTrigger

吕毅 发布于 2017-09-25 01:20

在开发 markdown-mail 时遇到了一些诡异的情况。代码是这么写的:

<TextBox Text="{Binding Text, Mode=TwoWay}"/>

然而在 TextChanged 事件之后延时执行了一些操作时,从 ViewModel 里拿到的值却始终是旧的。

阅读本文将了解其原因和解决办法。

试图在 Windows 10 上安装 .Net Framework 3.5 时提示错误 0x800F081F

吕毅 发布于 2017-09-23 00:15

说到在 Windows 10 上安装 .Net Framework 3.5,想必已经没什么可以多说的了,直接去“启用或关闭 Windows 功能”界面给“.NET Framework 3.5”打个勾就好了。

但今天帮助一位朋友安装时却在上述步骤之后出现了错误:0x800F081F。

.Net Framework 4.x 程序到底运行在哪个 CLR 版本之上

吕毅 发布于 2017-09-22 21:42

当我们编译程序目标框架选为 .Net Framework 4.5/4.6/4.7 时,CLR 运行时是如何判断我们究竟应该用哪一个 .Net Framework 呢?.Net Framework 的版本到底由哪些部分组成?我们编译 .Net Framework 时选择的版本决定了什么?

设置 .NET Native 运行时指令以支持反射(尤其适用于 UWP)

吕毅 更新于 2017-09-21 07:35,发布于 2017-09-21 00:38

我们经常会尝试用一用反射来解决一部分动态可执行代码的问题,不过这个问题在 UWP 中似乎并不那么轻松。也许你写了一句获取某个类所有属性的代码,结果发现 DEBUG 下跑得好好的,RELEASE 下居然拿不到!