Freigeben über


LayerVisual Klasse

Definition

Ein ContainerVisual, dessen untergeordnete Elemente auf eine einzelne Ebene abgeflacht werden.

public ref class LayerVisual sealed : ContainerVisual
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [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.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class LayerVisual : ContainerVisual
Public NotInheritable Class LayerVisual
Inherits ContainerVisual
Vererbung
Object Platform::Object IInspectable CompositionObject Visual ContainerVisual LayerVisual
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 Anniversary Edition (eingeführt in 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v3.0)

Beispiele

In diesem Beispiel wird gezeigt, wie Ein GaussianBlurEffect auf ein LayerVisual angewendet wird.

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

Das Ergebnis sieht wie folgt aus.

Ein rotes Quadrat, das ein blaues Quadrat mit einem Unschärfeeffekt überschneidet.

In diesem Beispiel wird gezeigt, wie Ein DropShadow auf ein LayerVisual angewendet wird.

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

Das Ergebnis sieht wie folgt aus.

Ein rotes Quadrat, das ein blaues Quadrat mit einem Schatten überschneidet, der auf jedes Quadrat angewendet wird.

Hinweise

Ein LayerVisual ist ein spezieller Eingabetyp, mit dem eine Struktur von Visuals ausgewählt werden kann. Die Struktureingabe wird implizit mithilfe von LayerVisual angegeben. Wenn ein EffectBrush auf die Effect-Eigenschaft des LayerVisual festgelegt ist, verwendet EffectBrush automatisch die Teilstruktur, die am LayerVisual verwurzelt ist, als Eingabe. Die implizite Eingabe für LayerVisual funktioniert für Effekte wie folgt:

  • Wenn der Effekt über eine Eingabe verfügt, verwendet EffectBrush die Teilstruktur, die am LayerVisual verwurzelt ist, als Eingabe.
  • Wenn der Effekt über 2 Eingaben verfügt, verwendet die erste ungebundene Eingabe von EffectBrush die Teilstruktur, die am LayerVisual verwurzelt ist, als Eingabe.
  • Das System lässt nicht zu, dass ein Effekt mit 0 Eingaben oder Effekten mit allen Eingaben, die an SurfaceBrush gebunden sind, als EffectBrush-Eigenschaft von LayerVisual festgelegt wird. Dadurch wird eine Ausnahme ausgelöst.

Versionsverlauf

Windows-Version SDK-Version Wertschöpfung
1709 16299 Shadow

Eigenschaften

AnchorPoint

Der Punkt des Visuals, das am Offset des Visuals positioniert werden soll. Der Wert wird in Bezug auf die Größe des Visuals normalisiert. Animatable.

(Geerbt von Visual)
BackfaceVisibility

Gibt an, ob die Rückseite des Visuals während einer 3D-Transformation sichtbar sein soll.

(Geerbt von Visual)
BorderMode

Gibt an, wie die Kanten von Bitmaps und Clips erstellt werden, die einem Visual zugeordnet sind, oder mit allen Visuals in der Unterstruktur, die in diesem Visual verwurzelt sind. Das Festlegen von BorderMode auf einem übergeordneten Visual wirkt sich auf alle untergeordneten Visuals in der Unterstruktur aus und kann bei jedem untergeordneten Visual selektiv deaktiviert werden.

(Geerbt von Visual)
CenterPoint

Der Punkt, über den die Drehung oder Skalierung erfolgt. Animatable

(Geerbt von Visual)
Children

Die untergeordneten Elemente von ContainerVisual.

(Geerbt von ContainerVisual)
Clip

Gibt den Abschneidebereich für das Visual an. Wenn ein Visual gerendert wird, wird nur der Teil des Visuals angezeigt, der innerhalb des Beschneidungsbereichs liegt, während alle Inhalte, die sich außerhalb des Abschneidebereichs erstrecken, abgeschnitten werden (d. a. nicht angezeigt).

(Geerbt von Visual)
Comment

Eine Zeichenfolge, die dem CompositionObject zugeordnet werden soll.

(Geerbt von CompositionObject)
CompositeMode

Gibt an, wie die Bitmap eines Visuals mit dem Bildschirm gemischt wird.

(Geerbt von Visual)
Compositor

Der Compositor , der zum Erstellen dieses CompositionObject verwendet wird.

(Geerbt von CompositionObject)
Dispatcher

Der Dispatcher für das CompositionObject.

(Geerbt von CompositionObject)
DispatcherQueue

Ruft den DispatcherQueue für das CompostionObject ab.

(Geerbt von CompositionObject)
Effect

Ruft den Effekt ab, der auf die abgeflachte Darstellung der untergeordneten Elemente eines LayerVisual angewendet werden soll, oder legt diesen fest.

ImplicitAnimations

Die Auflistung impliziter Animationen, die diesem Objekt angefügt sind.

(Geerbt von CompositionObject)
IsHitTestVisible

Ruft einen Wert ab, der angibt, ob die visuelle Unterstruktur, die in diesem Visual verwurzelt ist, an Treffertests teilnimmt, oder legt diesen fest.

(Geerbt von Visual)
IsPixelSnappingEnabled

Ruft einen Wert ab, der angibt, ob die Kompositions-Engine das gerenderte Visual an einer Pixelgrenze ausrichtet, oder legt diesen fest.

(Geerbt von Visual)
IsVisible

Gibt an, ob das Visual und seine gesamte Unterstruktur untergeordneter Visuals sichtbar sind.

(Geerbt von Visual)
Offset

Der Offset des Visuals relativ zu seinem übergeordneten Element oder für ein Stammvisual der Offset relativ zur oberen linken Ecke der Fenster, in denen das Visual gehostet wird. Animatable.

(Geerbt von Visual)
Opacity

Die Deckkraft des Visuals. Animatable.

Die Deckkrafteigenschaft bestimmt die Transparenz des Visuals( falls vorhanden) und ist ein Wert von 0 bis 1. 0 ist vollständig transparent und 1 vollständig undurchsichtig. Ein Visual mit der Deckkrafteigenschaft 0 ist weiterhin in der Struktur vorhanden. Wie andere Eigenschaften auf dem Visual kann die Deckkraft mithilfe der Windows-Benutzeroberfläche animiert werden. Kompositionsanimationssystem.

(Geerbt von Visual)
Orientation

Eine Quaternion, die eine Ausrichtung und Drehung im 3D-Raum beschreibt, die auf das Visual angewendet werden. Animatable.

(Geerbt von Visual)
Parent

Das übergeordnete Element des visuellen Objekts.

(Geerbt von Visual)
ParentForTransform

Visual, das das Koordinatensystem angibt, in dem dieses Visual zusammengesetzt ist.

(Geerbt von Visual)
Properties

Die Auflistung von Eigenschaften, die dem CompositionObject zugeordnet sind.

(Geerbt von CompositionObject)
RelativeOffsetAdjustment

Gibt den Offset des Visuals in Bezug auf die Größe des übergeordneten Visuals an.

(Geerbt von Visual)
RelativeSizeAdjustment

Ruft die Größe des Visuals in Bezug auf die Größe des übergeordneten Visuals ab oder legt diese fest.

(Geerbt von Visual)
RotationAngle

Der Drehwinkel im Bogenmaß des Visuellen. Animatable.

(Geerbt von Visual)
RotationAngleInDegrees

Der Drehwinkel des Visuellen in Grad. Animatable.

(Geerbt von Visual)
RotationAxis

Die Achse, um die das Visual gedreht werden soll. Animatable.

(Geerbt von Visual)
Scale

Die Skalierung, die auf das Visual angewendet werden soll.

(Geerbt von Visual)
Shadow

Ruft den Schatten ab, der auf die abgeflachte Darstellung der untergeordneten Elemente eines LayerVisual angewendet werden soll, oder legt diesen fest.

Size

Die Breite und Höhe des Visuals. Animatable.

(Geerbt von Visual)
TransformMatrix

Die Transformationsmatrix, die auf das Visual angewendet werden soll. Animatable.

(Geerbt von Visual)

Methoden

Close()

Schließt das CompositionObject und gibt Systemressourcen frei.

(Geerbt von CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Verbindet und Animation.

(Geerbt von CompositionObject)
DisconnectAnimation(String)

Trennt eine Animation.

(Geerbt von CompositionObject)
Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

(Geerbt von CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Definiert eine Eigenschaft, die animiert werden kann.

(Geerbt von CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation.

(Geerbt von CompositionObject)
StartAnimation(String, CompositionAnimation)

Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation.

(Geerbt von CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Startet eine Animationsgruppe.

Mit der StartAnimationGroup-Methode für CompositionObject können Sie CompositionAnimationGroup starten. Alle Animationen in der Gruppe werden gleichzeitig für das Objekt gestartet.

(Geerbt von CompositionObject)
StopAnimation(String)

Trennt eine Animation von der angegebenen Eigenschaft und beendet die Animation.

(Geerbt von CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Beendet eine Animationsgruppe.

(Geerbt von CompositionObject)
TryGetAnimationController(String)

Gibt einen AnimationController für die Animation zurück, die für die angegebene Eigenschaft ausgeführt wird.

(Geerbt von CompositionObject)

Gilt für:

Weitere Informationen