LayerVisual Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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.
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.
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) |