关闭
当前搜索:

WPF 自定义键盘焦点样式(FocusVisualStyle)

WPF 自带的键盘焦点样式是与传统控件样式搭配的,但 WPF 凭着其强大的自定义样式的能力,做出与传统控件样式完全不同风格的 UI 简直易如反掌。这时,其自带的键盘焦点样式(FocusVisualStyle)就非常不搭了,改改会舒服得多。比如,改成 UWP 的样式。本文将展示 WPF 自定义键盘焦点样式自定义的坑!...
阅读(128) 评论(0)

实现一个 WPF 版本的 ConnectedAnimation

Windows 10 的创造者更新为开发者们带来了 Connected Animation 连接动画,这也是 Fluent Design System 的一部分。它的视觉引导性很强,用户能够在它的帮助下迅速定位操作的对象。不过,这是 UWP,而且还是 Windows 10 Creator’s Update 中才带来的特性,WPF 当然没有。于是,我自己写了一个“简易版本”。...
阅读(159) 评论(0)

让 ScrollViewer 的滚动带上动画

WPF 的 ScrollViewer 没有水平滚动和垂直滚动的属性 HorizontalScrollOffset VerticalScrollOffset,只有水平滚动和垂直滚动的方法 ScrollToHorizontalOffset ScrollToVerticalOffset,那么怎么给滚动过程加上动画呢?既然没有属性,那我们加个属性好了,反正附加属性就是用来干这个事儿的。...
阅读(83) 评论(0)

WPF 绘制对齐像素的清晰显示的线条

此前有小伙伴询问我为何他 1 像素的线条显示发虚,然后我告诉他是“像素对齐”的问题,然而他设置了各种对齐像素的属性依旧没有作用。于是我对此进行了一系列试验,对 WPF 像素对齐的各种方法进行了一次总结。...
阅读(104) 评论(0)

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

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

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

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

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

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

WPF 跨应用程序域的 UI(Cross AppDomain UI)

为自己写的程序添加插件真的是一个相当常见的功能,然而如果只是简单加载程序集然后去执行程序集中的代码,会让宿主应用程序暴露在非常危险的境地!因为只要插件能够运行任何一行代码,就能将宿主应用程序修改得天翻地覆哭爹喊娘;而根本原因,就在于暴露了整个托管堆和整个 UI 树。如果将宿主和插件放到不同的应用程序域中,则可以解决此问题。...
阅读(157) 评论(0)

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

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

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

无论是 WPF 还是 UWP 开发,如果用 Storyboard 和 Animation 做动画,我们多数时候都会设置 From 和 To 属性,用于从起始值动画到目标值。然而动画并不总是可以静态地指定这些值,因为更多的时候动画的起始值和目标值取决于当前 UI 的状态。本文中,我将将尽量避免设置 From 和 To 值,让动画可以随时中断并重新开始,而中途不会出现突兀的变化。...
阅读(584) 评论(0)

DependencyProperty.UnsetValue 的正确打开方式

无论是 WPF,还是 UWP,只要你用了绑定或者标记扩展,一定会碰到一个神奇的值——DependencyProperty.UnsetValue。UnsetValue 是什么意思?为什么会出现这个值呢?如果要让 UnsetValue 为我们所用,正确的用法又是什么呢?DependencyProperty.UnsetValue 是什么?要知道这是什么,一定要看源码:/// Stand...
阅读(597) 评论(0)
    个人资料
    • 访问:22556次
    • 积分:737
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:0篇
    • 译文:0篇
    • 评论:13条
    文章分类