UWP - 丙烯酸刷总是回落到纯色

时间:2018-04-03 14:10:57

标签: c# windows xaml uwp

我一直在努力实施新的丙烯酸设计语言,但应用丙烯酸刷子总是回归到它的后备颜色。我使用Fall Creators Update,我的应用程序最小目标也是Fall Creators Update。当我使用像计算器这样的现代应用程序时,丙烯酸似乎正在工作.. 感谢您的任何建议。

实施例

<Rectangle  
x:Name="GameTree" 
Grid.Row="1" Grid.Column="5" HorizontalAlignment="Stretch" 
Fill="{ThemeResource MyAcrylicBrush}"/>

画笔定义

<AcrylicBrush x:Key="MyAcrylicBrush"
AlwaysUseFallback="False"
BackgroundSource="HostBackdrop"
TintColor="#FF00ff00"
TintOpacity="0.8"
FallbackColor="#FF000066"
/>

2 个答案:

答案 0 :(得分:0)

Acrylic素材提供了更多不同的Tint不透明度主题。如果你想实现像Window计算器这样的功能,你可以直接使用SystemControlChromeHighAcrylicWindowMediumBrush ThemeResource。

<Rectangle  
    x:Name="GameTree" 
    HorizontalAlignment="Stretch" 
    Fill="{ThemeResource SystemControlChromeHighAcrylicWindowMediumBrush}">
</Rectangle>
  

但应用丙烯酸刷总是回落到它的后备颜色。

如果BackgroundSource属性为HostBackdrop。当UWP窗口未激活时,将恢复应用程序窗口后面的内容和FallbackColor的画笔样本。根据您的要求,您可以将BackgroundSource设置为Backdrop。或者您可以设置FallbackColor非突出颜色,例如白色。

<AcrylicBrush x:Key="MyAcrylicBrush"      
    BackgroundSource="HostBackdrop"
    TintColor="#FF00ff00"
    TintOpacity="0.1"        
    FallbackColor="#F8F8FF"
  />

enter image description here

有关更多信息,请参阅Acrylic material官方文档。

答案 1 :(得分:0)

问题出在页面xaml元素上的特定CacheMode =“BitmapCache”属性中。取下后,丙烯酸刷工作正常。