在windows 10 秋季更新(build 16299)中引入的亚克力材质是一种类似于windows 7窗口磨砂玻璃效果的画刷。
许多Windows自带的应用,例如计算器,已经采用了这种设计。然而,系统默认的画刷有时无法满足我们自己设计应用的需求,尤其是在Windows决定不渲染亚克力效果的情况下,比如设备处于低电量模式或窗口未激活状态时,许多系统默认的画刷会使我们的应用界面变得不太美观。
例如,这是正常的亚克力效果:
但当窗口未激活时,竟然变成了:
此时,我们需要自定义亚克力的参数,并定义备用配色方案。例如,我的”Character Map UWP”就是使用自定义亚克力的一个例子。
在正常状态下显示自定义透明度的黑色:
在全屏或未激活状态下,显示系统主题色:
这种效果是通过自定义AcrylicBrush实现的。在你的资源XAML中定义:
其中,
表示正常情况下亚克力的颜色,这里我指定为黑色。表示透明度,0.4即40%。而指的是在无法渲染亚克力效果时使用的替代颜色,我使用的是系统主题色。
因此,完整的资源文件可以定义如下:
然后在需要使用亚克力的地方,就可以使用自定义材质了: