LayerVisual Kelas

Definisi

ContainerVisual yang anak-anaknya diratakan menjadi satu lapisan.

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
Warisan
Object Platform::Object IInspectable CompositionObject Visual ContainerVisual LayerVisual
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 Anniversary Edition (diperkenalkan dalam 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v3.0)

Contoh

Contoh ini menunjukkan cara menerapkan GaussianBlurEffect ke 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);
}        

Hasilnya terlihat seperti ini.

Persegi merah yang tumpang tindih dengan persegi biru dengan efek kabur diterapkan.

Contoh ini menunjukkan cara menerapkan DropShadow ke 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 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);
}         

Hasilnya terlihat seperti ini.

Persegi merah yang tumpang tindih dengan persegi biru dengan bayangan diterapkan ke setiap persegi.

Keterangan

LayerVisual adalah jenis input khusus yang dapat digunakan untuk memilih pohon visual. Input pohon secara implisit ditentukan menggunakan LayerVisual. Ketika EffectBrush diatur ke properti Efek LayerVisual, EffectBrush secara otomatis menggunakan subtree yang berakar pada LayerVisual sebagai input. Input implisit untuk LayerVisual berfungsi untuk efek sebagai berikut:

  • Jika efek memiliki satu input, EffectBrush menggunakan subtree yang berakar pada LayerVisual sebagai input.
  • Jika efek memiliki 2 input, input pertama yang tidak terbatas dari EffectBrush menggunakan subtree yang berakar pada LayerVisual sebagai input.
  • Sistem tidak memungkinkan efek dengan 0 input atau efek dengan semua input yang terikat ke SurfaceBrush untuk diatur sebagai EffectBrush pada properti Efek LayerVisual. Ini akan melemparkan pengecualian.

Riwayat versi

Versi Windows Versi SDK Nilai ditambahkan
1709 16299 Bayangan

Properti

AnchorPoint

Titik pada visual yang akan diposisikan pada offset visual. Nilai dinormalisasi sehubungan dengan ukuran visual. Bisa dianimasikan.

(Diperoleh dari Visual)
BackfaceVisibility

Menentukan apakah wajah belakang visual harus terlihat selama transformasi 3D.

(Diperoleh dari Visual)
BorderMode

Menentukan cara menyusun tepi bitmap dan klip yang terkait dengan visual, atau dengan semua visual dalam subtree yang berakar pada visual ini. Mengatur BorderMode pada Visual induk akan memengaruhi semua visual turunan dalam subtree dan dapat dinonaktifkan secara selektif pada setiap visual anak.

(Diperoleh dari Visual)
CenterPoint

Titik tentang rotasi atau penskalaan mana yang terjadi. Dapat dianimasikan

(Diperoleh dari Visual)
Children

Anak-anak ContainerVisual.

(Diperoleh dari ContainerVisual)
Clip

Menentukan wilayah kliping untuk visual. Saat visual dirender, hanya bagian visual yang berada di dalam wilayah kliping yang ditampilkan, sementara konten apa pun yang meluas di luar wilayah kliping dipotong (yaitu, tidak ditampilkan).

(Diperoleh dari Visual)
Comment

String yang akan dikaitkan dengan CompositionObject.

(Diperoleh dari CompositionObject)
CompositeMode

Menentukan bagaimana bitmap visual dipadukan dengan layar.

(Diperoleh dari Visual)
Compositor

Compositor digunakan untuk membuat CompositionObject ini.

(Diperoleh dari CompositionObject)
Dispatcher

Dispatcher untuk CompositionObject.

(Diperoleh dari CompositionObject)
DispatcherQueue

Mendapatkan DispatcherQueue untuk CompostionObject.

(Diperoleh dari CompositionObject)
Effect

Mendapatkan atau mengatur efek yang akan diterapkan ke representasi yang diratakan dari anak-anak LayerVisual.

ImplicitAnimations

Kumpulan animasi implisit yang melekat pada obyek ini.

(Diperoleh dari CompositionObject)
IsHitTestVisible

Mendapatkan atau menetapkan nilai yang menunjukkan apakah sub-pohon visual yang berakar pada visual ini berpartisipasi dalam pengujian temuan.

(Diperoleh dari Visual)
IsPixelSnappingEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah mesin komposisi menyelaraskan visual yang dirender dengan batas piksel.

(Diperoleh dari Visual)
IsVisible

Menunjukkan apakah visual dan seluruh subtree visual anak terlihat.

(Diperoleh dari Visual)
Offset

Offset visual relatif terhadap induknya atau untuk visual akar offset relatif terhadap sudut kiri atas jendela yang menghosting visual. Bisa dianimasikan.

(Diperoleh dari Visual)
Opacity

Tingkat keburaman visual. Bisa dianimasikan.

Properti opasitas menentukan transparansi, jika ada, dari Visual dan merupakan nilai dari 0 hingga 1. 0 sepenuhnya transparan dan 1 buram penuh. Visual dengan properti Opacity 0 masih ada di pohon. Seperti properti lain pada Visual, Opacity dapat dianimasikan menggunakan Windows,UI. Sistem animasi komposisi.

(Diperoleh dari Visual)
Orientation

Kuaternion yang menjelaskan orientasi dan rotasi dalam ruang 3D yang akan diterapkan ke visual. Bisa dianimasikan.

(Diperoleh dari Visual)
Parent

Induk visual.

(Diperoleh dari Visual)
ParentForTransform

Visual yang menentukan sistem koordinat tempat visual ini disusung.

(Diperoleh dari Visual)
Properties

Kumpulan properti yang terkait dengan CompositionObject.

(Diperoleh dari CompositionObject)
RelativeOffsetAdjustment

Menentukan offset visual sehubungan dengan ukuran visual induknya.

(Diperoleh dari Visual)
RelativeSizeAdjustment

Mendapatkan atau mengatur ukuran visual sehubungan dengan ukuran visual induknya.

(Diperoleh dari Visual)
RotationAngle

Sudut rotasi dalam radian visual. Bisa dianimasikan.

(Diperoleh dari Visual)
RotationAngleInDegrees

Sudut rotasi visual dalam derajat. Bisa dianimasikan.

(Diperoleh dari Visual)
RotationAxis

Sumbu untuk memutar visual. Bisa dianimasikan.

(Diperoleh dari Visual)
Scale

Skala yang akan diterapkan ke visual.

(Diperoleh dari Visual)
Shadow

Mendapatkan atau mengatur bayangan yang akan diterapkan ke representasi yang diratakan dari anak-anak LayerVisual.

Size

Lebar dan tinggi visual. Bisa dianimasikan.

(Diperoleh dari Visual)
TransformMatrix

Matriks transformasi untuk diterapkan ke visual. Bisa dianimasikan.

(Diperoleh dari Visual)

Metode

Close()

Menutup CompositionObject dan merilis sumber daya sistem.

(Diperoleh dari CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Menyambungkan dan animasi.

(Diperoleh dari CompositionObject)
DisconnectAnimation(String)

Memutuskan sambungan animasi.

(Diperoleh dari CompositionObject)
Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, merilis, atau mengatur ulang sumber daya yang tidak dikelola.

(Diperoleh dari CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Menentukan properti yang dapat dianimasikan.

(Diperoleh dari CompositionObject)
StartAnimation(String, CompositionAnimation)

Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi.

(Diperoleh dari CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi.

(Diperoleh dari CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Memulai grup animasi.

Metode StartAnimationGroup pada CompositionObject memungkinkan Anda memulai CompositionAnimationGroup. Semua animasi dalam grup akan dimulai pada saat yang sama pada objek.

(Diperoleh dari CompositionObject)
StopAnimation(String)

Memutuskan sambungan animasi dari properti yang ditentukan dan menghentikan animasi.

(Diperoleh dari CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Menghentikan grup animasi.

(Diperoleh dari CompositionObject)
TryGetAnimationController(String)

Mengembalikan AnimationController untuk animasi yang berjalan pada properti yang ditentukan.

(Diperoleh dari CompositionObject)

Berlaku untuk

Lihat juga