LayerVisual.Effect Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o efeito a ser aplicado à representação nivelada dos filhos de um LayerVisual.
public:
property CompositionEffectBrush ^ Effect { CompositionEffectBrush ^ get(); void set(CompositionEffectBrush ^ value); };
CompositionEffectBrush Effect();
void Effect(CompositionEffectBrush value);
public CompositionEffectBrush Effect { get; set; }
var compositionEffectBrush = layerVisual.effect;
layerVisual.effect = compositionEffectBrush;
Public Property Effect As CompositionEffectBrush
Valor da propriedade
O efeito a ser aplicado à representação nivelada dos filhos de um LayerVisual.
Exemplos
Este exemplo mostra como aplicar um GaussianBlurEffect a um LayerVisual.
private async void InitComposition()
{
Compositor compositor = ElementCompositionPreview.GetElementVisual(MyGrid).Compositor;
//Create LayerVisual
LayerVisual layerVisual = compositor.CreateLayerVisual();
layerVisual.Size = new Vector2(900,900);
//Create SpriteVisuals to use as LayerVisual child
SpriteVisual sv1 = compositor.CreateSpriteVisual();
sv1.Brush = compositor.CreateColorBrush(Windows.UI.Colors.Blue);
sv1.Size = new Vector2(300, 300);
sv1.Offset = new Vector3(200, 200, 0);
SpriteVisual sv2 = compositor.CreateSpriteVisual();
sv2.Brush = compositor.CreateColorBrush(Colors.Red);
sv2.Size = new Vector2(300, 300);
sv2.Offset = new Vector3(400, 400, 0);
//Add children to the LayerVisual
layerVisual.Children.InsertAtTop(sv1);
layerVisual.Children.InsertAtTop(sv2);
//Create Effect
var graphicsEffect = new GaussianBlurEffect
{
Name = "Blur",
Source = new CompositionEffectSourceParameter("Backdrop"),
BlurAmount = 10.0f,
BorderMode = EffectBorderMode.Hard,
Optimization = EffectOptimization.Balanced
};
var blurEffectFactory = compositor.CreateEffectFactory(graphicsEffect,
new[] { "Blur.BlurAmount" });
var blurBrush = blurEffectFactory.CreateBrush();
//Apply Effect
layerVisual.Effect = blurBrush;
ElementCompositionPreview.SetElementChildVisual(MyGrid, layerVisual);
}
O resultado tem a seguinte aparência.
Comentários
Esse CompositionEffectBrush não pode usar compositionBackdropBrush como entrada, incluindo HostBackdropBrush.