【UWP】来试试毛玻璃特效(Acrylic)吧 896次阅读 coding • 学习笔记 2020-03-15 [主要参考网址](https://docs.microsoft.com/zh-cn/windows/uwp/design/style/acrylic "主要参考网址") [官方的演示应用](https://github.com/Microsoft/Xaml-Controls-Gallery "官方的演示应用") [系统自带的笔刷](https://docs.microsoft.com/zh-cn/windows/uwp/design/style/acrylic#acrylic-theme-resources "系统自带的笔刷") ~~__坑挖好了,慢慢填__~~ 差不多就这么多了,有时间再写个好点的演示应用吧,官方的可调性太差 ------------ ###自定义一个Acrylic笔刷 在App.xaml中的Application.Resources属性下添加自定义笔刷 ```xml ``` 笔刷可用的属性有: - TintColor:颜色/色调覆盖层。指定 RGB 颜色值和 alpha 通道不透明度。 - TintOpacity:色调层不透明度。 - TintLuminosityOpacity:控制可从背景穿过 Acrylic 笔刷的饱和度的量。(在1903版本以上才能用) - BackgroundSource:指定使用背景 Acrylic(Hostbackdrop) 还是应用内 Acrylic(BackDrop) 的标记。 - FallbackColor:在节电模式中替换 TintColor。 对于Background指定为背景 Acrylic时,当应用并非位于活动状态桌面窗口中或者应用正在手机和 Xbox 上运行时,FallbackColor也会替换 TintColor。 ![](https://docs.microsoft.com/zh-cn/windows/uwp/design/style/images/acrylicrecipe_diagram.jpg) ------------ ###把标题栏也用上Acrylic ```csharp private void ExtendAcrylicIntoTitleBar() { CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true; ApplicationViewTitleBar titleBar = ApplicationView.GetForCurrentView().TitleBar; titleBar.ButtonBackgroundColor = Colors.Transparent; titleBar.ButtonInactiveBackgroundColor = Colors.Transparent; } ``` 并在OnLunched()的 Window.Current.Activate();后调用 记得添加这几个命名空间 ```csharp using Windows.UI.ViewManagement; using Windows.ApplicationModel.Core; using Windows.UI; ``` ------------ ###应用Acrylic 可以直接在属性窗口中设置 ![1](https://lpp12138.xyz/usr/uploads/2020/03/1788500615.png "1") 也可以使用 StaticResource testAcrylicBrush 字段来调用 如果你懒得写一个自己的笔刷的话也可以用[系统自带](https://docs.microsoft.com/zh-cn/windows/uwp/design/style/acrylic#acrylic-theme-resources)的 或者 ![](https://lpp12138.xyz/usr/uploads/2020/03/1528946432.png) 中设置 也可以直接添加 ```xml ``` 建议遵循官网的设计标准 最后一次更新于2020-09-20 C# UWP .net
0 条评论