什么是Acrylic?
Acrylic
中文翻译是丙烯酸
,也叫亚巧克力
,是一种半透明模糊效果
,也就是毛玻璃效果
,这个命名取自真实的材料丙烯酸
,该材料有良好的透明度
,并且呈现的是一种半透明
效果,常用在玻璃
上,后来在UI设计上实现了这一种效果,所以命名也以Acrylic来命名。
如何在WinUI3中使用它?
在WinUI3
中对Acrylic
的自定义支持较少
,因为WinUI3的理念是Fluent Design设计体系
,一切都应跟随系统主题
,当你在你的应用程序中使用了Acrylic
时,它的透明程度
、颜色
都跟随系统主题,而使用它也非常简单,只需要创建一个DesktopAcrylicBackdrop
然后将它设置到SystemBackdrop
就可以了:
DesktopAcrylicBackdrop acrylic = DesktopAcrylicBackdrop();
this->SystemBackdrop(acrylic);
// 将窗口内容主题扩展到标题栏
this->ExtendsContentIntoTitleBar(true);
如果是XAML
可以使用Window.SystemBackdrop
元素在里面设置DesktopAcrylicBackdrop
属性:
<Window.SystemBackdrop>
<DesktopAcrylicBackdrop/>
</Window.SystemBackdrop>
运行效果(深色主题):
把主题调整为浅色,应用程序会跟随系统主题自适应改变:
这就是Fluent Design设计哲学之一,在深色时它的透明颜色是偏黑色,在浅色时它的透明颜色偏白色,它的透明颜色和透明的是无法通过代码来调节的(除非你自定义),如果要调节只能通过Windows的设置->个性化里来调整系统主题,WinUI3会自动跟随变化,Fluent Design的理念就是设计出来的程序就像是Windows自带的应用一样,完全统一。
如果在Windows里将这个半透明效果关掉那么Acrylic就没有任何效果了