For advanced background effects like animations or blurring, inherit from CompositionBrushBackdrop. You must override the CreateBrush method, which provides a Windows.UI.Composition.Compositor to create the brush used for the window backdrop.
Custom animated backdrop
By creating a brush and applying a CompositionColorKeyFrameAnimation within CreateBrush, you can create continuously animating backgrounds.
Blurred backdrop
You can create a blurred effect by returning a host backdrop brush using compositor.CreateHostBackdropBrush() inside the CreateBrush override.
// Example: Custom animated composition-brush backdrop
public class ColorAnimatedBackdrop : CompositionBrushBackdrop
{
protected override Windows.UI.Composition.CompositionBrush CreateBrush(Windows.UI.Composition.Compositor compositor)
{
var brush = compositor.CreateColorBrush(Windows.UI.Color.FromArgb(255,255,0,0));
var animation = compositor.CreateColorKeyFrameAnimation();
var easing = compositor.CreateLinearEasingFunction();
animation.InsertKeyFrame(0, Colors.Red, easing);
animation.InsertKeyFrame(.333f, Colors.Green, easing);
animation.InsertKeyFrame(.667f, Colors.Blue, easing);
animation.InsertKeyFrame(1, Colors.Red, easing);
animation.InterpolationColorSpace = Windows.UI.Composition.CompositionColorSpace.Hsl;
animation.Duration = TimeSpan.FromSeconds(15);
animation.IterationBehavior = Windows.UI.Composition.AnimationIterationBehavior.Forever;
brush.StartAnimation("Color", animation);
return brush;
}
}
// Example: Blurred composition-brush backdrop
public class BlurredBackdrop : CompositionBrushBackdrop
{
protected override Windows.UI.Composition.CompositionBrush CreateBrush(Windows.UI.Composition.Compositor compositor)
=> compositor.CreateHostBackdropBrush();
}