Uwp 具有全屏应用程序的CompositionBackdropBrush

Uwp 具有全屏应用程序的CompositionBackdropBrush,uwp,Uwp,我有一个UWP应用程序(目标是16299,如果有必要的话),它是全屏的,并使用CompositionBackdropBrush作为应用程序的背景。这会导致CompositionBackdropBrush无法工作(它只显示纯白)。有没有办法让这一切顺利进行 如果我不要求应用程序是全屏的,它可以正常工作 另一方面,我注意到每当应用程序挂起时,CompositionBackdropBrush就会变成白色。这是某种安全功能吗 以下是使用App.xaml.cs全屏显示的代码: var view = App

我有一个UWP应用程序(目标是16299,如果有必要的话),它是全屏的,并使用CompositionBackdropBrush作为应用程序的背景。这会导致CompositionBackdropBrush无法工作(它只显示纯白)。有没有办法让这一切顺利进行

如果我不要求应用程序是全屏的,它可以正常工作

另一方面,我注意到每当应用程序挂起时,CompositionBackdropBrush就会变成白色。这是某种安全功能吗

以下是使用App.xaml.cs全屏显示的代码:

var view = ApplicationView.GetForCurrentView();
view.TryEnterFullScreenMode();
view.FullScreenSystemOverlayMode = FullScreenSystemOverlayMode.Minimal;
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.FullScreen;
下面是应用合成笔刷的代码(BackgroundGrid只是一个全尺寸的网格): 建造商:

_compositor = ElementCompositionPreview.GetElementVisual(this).Compositor;
空载:

_hostSprite = _compositor.CreateSpriteVisual();
_hostSprite.Size = new Vector2((float)BackgroundGrid.ActualWidth, (float)BackgroundGrid.ActualHeight);

ElementCompositionPreview.SetElementChildVisual(BackgroundGrid, _hostSprite);

_hostSprite.Brush = _compositor.CreateHostBackdropBrush();

此特定代码未按预期呈现的原因是HostBackground内置了GaussianBrueffect。由于动态模糊会产生性能问题,因此画笔中还内置了诸如全屏模式、活动窗口或低功耗模式(等)的某些“后退”,在这些情况下,将创建与透明模糊窗口相反的纯色。您可以创建交叉淡入淡出动画来处理这些透明到实体的过渡,使它们看起来不那么刺耳

HostBackdropBrush的使用示例如下所示


BackdropBrush类似于HostBackdropBrush,但不受太多限制,因为它只对应用程序本身中绘制的内容进行采样。如果您不希望对这些效果进行大量定制,XAML支持更易于使用的功能,并为开发人员处理回退过渡的动画等内容。

此特定代码未按预期呈现的原因是HostBackground内置了GaussianBlueffect。由于动态模糊会产生性能问题,因此画笔中还内置了诸如全屏模式、活动窗口或低功耗模式(等)的某些“后退”,在这些情况下,将创建与透明模糊窗口相反的纯色。您可以创建交叉淡入淡出动画来处理这些透明到实体的过渡,使它们看起来不那么刺耳

HostBackdropBrush的使用示例如下所示

BackdropBrush类似于HostBackdropBrush,但不受太多限制,因为它只对应用程序本身中绘制的内容进行采样。如果您不希望对这些效果进行大量定制,那么XAML支持更易于使用的功能,并为开发人员处理回退过渡的动画等