Compartilhar via


LayerVisual Classe

Definição

Um ContainerVisual cujos filhos são mesclados em uma única camada.

public ref class LayerVisual sealed : ContainerVisual
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.LiftedContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class LayerVisual final : ContainerVisual
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class LayerVisual final : ContainerVisual
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class LayerVisual : ContainerVisual
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public sealed class LayerVisual : ContainerVisual
Public NotInheritable Class LayerVisual
Inherits ContainerVisual
Herança
Object Platform::Object IInspectable CompositionObject Visual ContainerVisual LayerVisual
Atributos

Exemplos

Aplicar efeitos 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);
}        

Adicionar um DropShadow

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 DropShadow
  DropShadow shadow = compositor.CreateDropShadow();
  shadow.Color = Colors.DarkSlateGray;
  shadow.Offset = new Vector3(40, 40, 0);
  shadow.BlurRadius = 9;
  shadow.SourcePolicy = CompositionDropShadowSourcePolicy.InheritFromVisualContent;

  //Associate Shadow with LayerVisual
  layerVisual.Shadow = shadow;

  ElementCompositionPreview.SetElementChildVisual(MyGrid, layerVisual);
}         

Comentários

Um LayerVisual é um tipo de entrada especial que pode ser usado para selecionar uma árvore de visuais. A entrada de árvore é especificada implicitamente usando LayerVisual. Quando um EffectBrush é definido como a propriedade Effect do LayerVisual, o EffectBrush usa automaticamente a subárvore com raiz no LayerVisual como entrada. A entrada implícita para LayerVisual funciona para efeitos da seguinte maneira:

  • Se o efeito tiver uma entrada, o EffectBrush usará a subárvore com raiz no LayerVisual como entrada.
  • Se o efeito tiver duas entradas, a primeira entrada não associado do EffectBrush usará a subárvore com raiz no LayerVisual como entrada.
  • O sistema não permite que um efeito com 0 entradas ou efeitos com todas as entradas associadas ao SurfaceBrush seja definido como a propriedade EffectBrush on LayerVisual's Effect. Isso gerará uma exceção.

Propriedades

AnchorPoint

O ponto no visual a ser posicionado no deslocamento do visual. O valor é normalizado em relação ao tamanho do visual. Animatable.

(Herdado de Visual)
BackfaceVisibility

Especifica se a face traseira do visual deve estar visível durante uma transformação 3D.

(Herdado de Visual)
BorderMode

Especifica como compor as bordas de bitmaps e clipes associados a um visual ou com todos os visuais na subárvore com raiz neste visual. Definir BorderMode em um visual pai afetará todos os visuais filhos na subárvore e poderá ser desativado seletivamente em cada visual filho.

(Herdado de Visual)
CenterPoint

O ponto sobre qual rotação ou escala ocorre. Animatable

(Herdado de Visual)
Children

Os filhos do ContainerVisual.

(Herdado de ContainerVisual)
Clip

Especifica a região de recorte para o visual. Quando um visual é renderizado, somente a parte do visual que cai dentro da região de recorte é exibida, enquanto qualquer conteúdo que se estende fora da região de recorte é recortado (ou seja, não exibido).

(Herdado de Visual)
Comment

Uma cadeia de caracteres a ser associada ao CompositionObject.

(Herdado de CompositionObject)
CompositeMode

Especifica como o bitmap de um visual é combinado com a tela.

(Herdado de Visual)
Compositor

O Compositor usado para criar esse CompositionObject.

(Herdado de CompositionObject)
DispatcherQueue

Obtém o DispatcherQueue para o CompositionObject.

(Herdado de CompositionObject)
Effect

O efeito a ser aplicado à representação nivelada dos filhos de um LayerVisual.

ImplicitAnimations

A coleção de animações implícitas anexadas a esse objeto.

(Herdado de CompositionObject)
IsHitTestVisible

Obtém ou define um valor que indica se a subárvore visual com raiz nesse visual participa do teste de clique.

(Herdado de Visual)
IsPixelSnappingEnabled

Obtém ou define um valor que indica se o mecanismo de composição alinha o visual renderizado com um limite de pixel.

(Herdado de Visual)
IsVisible

Indica se o visual e sua subárvore inteira de visuais filho estão visíveis.

(Herdado de Visual)
Offset

O deslocamento do visual em relação ao pai ou a um visual raiz, o deslocamento em relação ao canto superior esquerdo das janelas que hospeda o visual. Animatable.

(Herdado de Visual)
Opacity

A opacidade do visual. Animatable.

A propriedade opacidade determina a transparência, se houver, do Visual e é um valor de 0 a 1. 0 é totalmente transparente e 1 é totalmente opaco. Um Visual com uma propriedade Opacity de 0 ainda está presente na árvore. Como outras propriedades no Visual, a opacidade pode ser animada usando o Windows, interface do usuário. Sistema de animação de composição.

(Herdado de Visual)
Orientation

Um quatérnio que descreve uma orientação e rotação no espaço 3D que será aplicado ao visual. Animatable.

(Herdado de Visual)
Parent

O pai do visual.

(Herdado de Visual)
ParentForTransform

Visual que especifica o sistema de coordenadas no qual esse visual é composto.

(Herdado de Visual)
Properties

A coleção de propriedades associadas ao CompositionObject.

(Herdado de CompositionObject)
RelativeOffsetAdjustment

Especifica o deslocamento do visual em relação ao tamanho de seu visual pai.

(Herdado de Visual)
RelativeSizeAdjustment

Obtém ou define o tamanho do visual em relação ao tamanho do visual pai.

(Herdado de Visual)
RotationAngle

O ângulo de rotação em radianos do visual. Animatable.

(Herdado de Visual)
RotationAngleInDegrees

O ângulo de rotação do visual em graus. Animatable.

(Herdado de Visual)
RotationAxis

O eixo para girar o visual. Animatable.

(Herdado de Visual)
Scale

A escala a ser aplicada ao visual.

(Herdado de Visual)
Shadow

A sombra a ser aplicada à representação nivelada dos filhos de um LayerVisual.

Size

A largura e a altura do visual. Animatable.

(Herdado de Visual)
TransformMatrix

A matriz de transformação a ser aplicada ao visual. Animatable.

(Herdado de Visual)

Métodos

Close()

Fecha o CompositionObject e libera os recursos do sistema.

(Herdado de CompositionObject)
Dispose()

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.

(Herdado de CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Define uma propriedade que pode ser animada.

(Herdado de CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

(Herdado de CompositionObject)
StartAnimation(String, CompositionAnimation)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

(Herdado de CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Inicia um grupo de animação.

O método StartAnimationGroup em CompositionObject permite iniciar CompositionAnimationGroup. Todas as animações no grupo serão iniciadas ao mesmo tempo no objeto .

(Herdado de CompositionObject)
StopAnimation(String)

Desconecta uma animação da propriedade especificada e interrompe a animação.

(Herdado de CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Interrompe um grupo de animação.

(Herdado de CompositionObject)
TryGetAnimationController(String)

Retorna um AnimationController para a animação em execução na propriedade especificada.

(Herdado de CompositionObject)

Aplica-se a

Confira também