有谁知道如何在创建者更新中实现后备颜色,以便在禁用透明度时,背景切换到设置的原始背景颜色。
UISettings 类中有一个AdvancedEffectsEnabled属性,指示是否启用系统透明度效果设置。当它返回时,您可以将背景重置为原始背景颜色。false
并且还有一个AdvancedEffectsEnabledChanged事件发生在系统高级 UI 效果设置启用或禁用时。您可以将此事件与AdvancedEffectsEnabled
属性结合使用,如下所示:
UISettings uiSettings = new UISettings();
uiSettings.AdvancedEffectsEnabledChanged += UiSettings_AdvancedEffectsEnabledChangedAsync;
private async void UiSettings_AdvancedEffectsEnabledChangedAsync(UISettings sender, object args)
{
if (sender.AdvancedEffectsEnabled)
{
await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
//TODO: Apply Acrylic Accent
});
}
else
{
await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
//TODO: Reset Background
});
}
}
请注意,在 UI 线程中可能不会引发AdvancedEffectsEnabledChanged事件。要更改背景颜色,我们需要CoreDispatcher.RunAsync方法。