walterlv的专栏

热爱设计,不止是程序,更是艺术!

WPF/UWP 的 Grid 布局竟然有 Bug,还不止一个!了解 Grid 中那些未定义的布局规则

只要你用 XAML 写代码,我敢打赌你一定用各种方式使(nuè)用(dài)过 Grid。不知你有没有在此过程中看到过 Grid 那些匪夷所思的布局结果呢? 本文将带你来看看 Grid 布局中的 Bug。 无限空间下的比例 先上一段代码,直接复制到你的试验项目中运行: &a...

2018-05-19 07:50:58

阅读数:34

评论数:2

UWP 流畅设计中的光照效果(容易的 RevealBorderBrush 和不那么容易的 RevealBackgroundBrush)

在 Windows 10.0.16299 中,RevealBrush 被引入,可以实现炫酷的鼠标滑过高亮效果和点击光照。本文将告诉大家如何完整地实现这样的效果。 Reveal 的效果(自带) 在微软官方推荐的 XAML Controls Gallery 应用中,我们可以找到 Revea...

2018-04-15 10:42:09

阅读数:55

评论数:0

流畅设计 Fluent Design System 中的光照效果 RevealBrush,WPF 也能模拟实现啦!

UWP 才能使用的流畅设计效果好惊艳,写新的 UWP 程序可以做出更漂亮的 UI 啦!然而古老的 WPF 项目也想解解馋怎么办? 于是我动手实现了一个! 迫不及待看效果 ▲ 是不是很像 UWP 中的 RevealBorderBrush? 不止是效果像,连 XAML 写法也像...

2018-04-05 17:08:01

阅读数:47

评论数:0

分享一个算法,计算能在任何背景色上清晰显示的前景色

背景色千差万别,如果希望在这样复杂的背景色下显示清晰可辨的前景色(例如显示文字),那如何选择这样的前景色才能确保适用于所有的背景呢?

2017-11-30 01:43:21

阅读数:159

评论数:0

当我们使用 MVVM 模式时,我们究竟在每一层里做些什么?

这篇文章不会说 MVVM 是什么,因为讲这个的文章太多了;也不会说 MVVM 的好处,因为这样的文章也是一搜一大把。我只是想说说我们究竟应该如何理解 M-V-VM,当我们真正开始写代码时,应该在里面的每一层里写些什么。

2017-11-30 01:32:39

阅读数:524

评论数:0

用动画的方式画出任意的路径(直线、曲线、折现)

WPF/UWP 中提供的 Path 类可以为我们绘制几乎所有可能的矢量图形。但是,如果这些矢量图形可以以动画的形式播放出来,那将可以得到非常炫酷的演示效果。

2017-11-23 22:37:19

阅读数:282

评论数:0

将 UWP 的有效像素(Effective Pixels)引入 WPF

UWP 采用有效像素(Effective Pixels)来描述尺寸,这是才是能够自圆其说的一套尺寸描述;WPF 的尺寸机制与 UWP 完全就是同一套,使用有效像素才能解释 WPF 尺寸变化上的各种特性!

2017-11-23 22:22:10

阅读数:122

评论数:0

Visual->UIElement->FrameworkElement,带来更多功能的同时也带来了更多的限制

我们总会自然而然地认为这些控件都是有大小的,它们会在合适的位置显示自己,通常不会超出去。但是,`FrameworkElement` 甚至是 `Control` 用得久了,都开始忘记 `Visual`、`UIElement` 带给我们的那些自由。

2017-11-23 22:16:21

阅读数:306

评论数:0

WPF 和 UWP 中,不用设置 From 或 To,Storyboard 即拥有更灵活的动画控制

无论是 WPF 还是 UWP 开发,如果用 Storyboard 和 Animation 做动画,我们多数时候都会设置 From 和 To 属性,用于从起始值动画到目标值。然而动画并不总是可以静态地指定这些值,因为更多的时候动画的起始值和目标值取决于当前 UI 的状态。本文中,我将将尽量避免设置 ...

2017-10-31 16:19:13

阅读数:673

评论数:0

使用 Task.Wait()?立刻死锁(deadlock)

最近读到一篇异步转同步的文章,发现其中没有考虑到异步转同步过程中发生的死锁问题,所以特地在本文说说异步转同步过程中的死锁问题。 文章作者 林德熙 已经修复了描述: - win10 uwp 异步转同步 什么情况下会产生死锁? 调用 Task.Wait() 或者 Task.Resu...

2017-10-27 23:59:35

阅读数:2062

评论数:0

DependencyProperty.UnsetValue 的正确打开方式

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

2017-10-11 00:05:34

阅读数:905

评论数:0

WPF/UWP 绑定中的 UpdateSourceTrigger

为 `TextBox` 的 `Text` 属性制定了双向绑定,然而运行却发现绑定源的对应属性却不及时变化。阅读本文将了解其原因和解决办法。

2017-09-25 01:23:42

阅读数:1110

评论数:0

UWP 中的 LaunchUriAsync,使用默认浏览器或其他应用打开链接

古老的 Win32 应用启动其他程序太过方便,以至于一部分开发者都已经不记得 Windows 能通过关联协议的方式通过统一资源定位符(URI)来启动应用程序了。转到 UWP 后,使用 URI 启动应用似乎成为了最推荐的方式。于是一句 LaunchUriAsync 就能解决大多数问题。

2017-09-25 00:44:59

阅读数:1000

评论数:0

优化 UWP 中图片的内存占用

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

2017-09-23 00:03:53

阅读数:755

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭