检测设备是否支持丙烯酸刷

时间:2017-07-10 12:32:54

标签: xaml uwp win-universal-app uwp-xaml acrylic-material

  

根据Microsoft的文档,

     

丙烯酸自动适应各种各样的外观   设备和背景。

     

在高对比度模式下,用户继续看到熟悉的背景   他们选择的颜色代替丙烯酸。另外,两者都有   背景丙烯酸和应用内丙烯酸显示为纯色

When the user turns off transparency in Personalization settings
When battery saver mode is activated
When the app runs on low-end hardware
     

此外,只有背景丙烯酸将取代其透明度和   纹理与纯色

When an app window on desktop deactivates
When the UWP app is running on phone, Xbox, HoloLens or tablet mode

我有两个关于亚克力刷的问题。

1)是否可以检测何时为低端设备禁用丙烯酸刷?

2)用户是否有订阅启用/禁用丙烯画笔的事件?因为有可用于在所有应用中切换丙烯画笔的设置。 enter image description here

PS:我不是想尝试使用后备颜色。

1 个答案:

答案 0 :(得分:1)

透明度效果模式可以在UISettings.AdvancedEffectsEnabled bool值的帮助下进行检查。

还有一个事件UISettings.AdvancedEffectsEnabledChanged订阅透明模式设置中的更改。

    UISettings settings = new UISettings();

    private bool _IsTransparencyEnabled = settings.AdvancedEffectsEnabled;

    settings.AdvancedEffectsEnabledChanged += settings_AdvancedEffectsEnabledChanged;

    private void settings_ColorValuesChanged(UISettings sender, object args)
    {
        settings = (UISettings)sender;
        _IsTransparencyEnabled = settings.AdvancedEffectsEnabled;
        //TODOD: Do other necessary actions when transparency has changed.
    }