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

Xaml 检测设备是否支持丙烯酸刷,xaml,uwp,win-universal-app,uwp-xaml,acrylic-material,Xaml,Uwp,Win Universal App,Uwp Xaml,Acrylic Material,根据微软的文档 亚克力可自动调整其外观,以适应各种不同的环境 设备和上下文 在高对比度模式下,用户可以继续看到熟悉的背景 颜色由他们选择,以取代丙烯酸。此外,两者 背景亚克力和应用内亚克力显示为纯色 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 a

根据微软的文档

亚克力可自动调整其外观,以适应各种不同的环境 设备和上下文

在高对比度模式下,用户可以继续看到熟悉的背景 颜色由他们选择,以取代丙烯酸。此外,两者 背景亚克力和应用内亚克力显示为纯色

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
此外,只有背景丙烯酸将取代其透明度和透明度 具有纯色的纹理

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是否有用户订阅启用/禁用丙烯酸刷的事件?因为有一个设置可以在所有应用中切换丙烯酸刷。


附言:我不是在尝试使用备用颜色

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

还有一个事件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.
    }

对于禁用或不支持丙烯酸刷支持的设备,丙烯酸刷为每个设备定义了回退颜色。如果您定义自己的丙烯酸刷,则需要指定回退颜色,以覆盖默认的回退颜色。是的,确实存在回退值。我试图做的是加载一个不同的主题词典,如果它不受支持。