Поделиться через


LayerVisual Класс

Определение

Объект ContainerVisual, дочерние элементы которого сплощены в один слой.

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
Наследование
Object Platform::Object IInspectable CompositionObject Visual ContainerVisual LayerVisual
Атрибуты

Примеры

Применение эффектов к Объекту 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);
}        

Добавление 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);
}         

Комментарии

LayerVisual — это особый тип входных данных, который можно использовать для выбора дерева визуальных элементов. Входные данные дерева неявно указываются с помощью LayerVisual. Если для EffectBrush задано свойство Effect объекта LayerVisual, EffectBrush автоматически использует в качестве входных данных поддерево, коренится в LayerVisual. Неявные входные данные для LayerVisual работают для эффектов следующим образом:

  • Если эффект имеет один вход, EffectBrush использует в качестве входных данных поддерево, коренится в LayerVisual.
  • Если у эффекта есть 2 входных данных, первый неограниченный входной объект EffectBrush использует в качестве входных данных поддерево, коренится в LayerVisual.
  • Система не позволяет задать эффект с 0 входными данными или эффекты со всеми входными данными, ограниченными surfaceBrush, в качестве свойства EffectBrush в LayerVisual. Это приведет к возникновению исключения.

Свойства

AnchorPoint

Точка визуального элемента, расположенная по смещению визуального элемента. Значение нормализуется относительно размера визуального элемента. Анимация.

(Унаследовано от Visual)
BackfaceVisibility

Указывает, должна ли отображаться задняя часть визуального элемента во время трехмерного преобразования.

(Унаследовано от Visual)
BorderMode

Указывает способ создания краев растровых изображений и клипов, связанных с визуальным элементом или со всеми визуальными элементами в поддереве, корнями которых является этот визуальный элемент. Установка BorderMode в родительском визуальном элементе повлияет на все дочерние визуальные элементы в поддереве и может быть выборочно отключена в каждом дочернем визуальном элементе.

(Унаследовано от Visual)
CenterPoint

Точка, о которой происходит поворот или масштабирование. Анимация

(Унаследовано от Visual)
Children

Дочерние элементы ContainerVisual.

(Унаследовано от ContainerVisual)
Clip

Указывает область обрезки для визуального элемента. При отрисовки визуального элемента отображается только часть визуального элемента, которая находится внутри области обрезки, в то время как любое содержимое, которое выходит за пределы области отсечения, обрезается (т. е. не отображается).

(Унаследовано от Visual)
Comment

Строка, связанная с CompositionObject.

(Унаследовано от CompositionObject)
CompositeMode

Указывает способ смешивания растрового изображения визуального элемента с экраном.

(Унаследовано от Visual)
Compositor

Составитель, используемый для создания этого объекта CompositionObject.

(Унаследовано от CompositionObject)
DispatcherQueue

Возвращает DispatcherQueue для CompositionObject.

(Унаследовано от CompositionObject)
Effect

Эффект, применяемый к плоскому представлению дочерних элементов объекта LayerVisual.

ImplicitAnimations

Коллекция неявных анимаций, присоединенных к этому объекту.

(Унаследовано от CompositionObject)
IsHitTestVisible

Возвращает или задает значение, указывающее, участвует ли визуальное вложенное дерево в этом визуальном элементе в проверке попадания.

(Унаследовано от Visual)
IsPixelSnappingEnabled

Возвращает или задает значение, указывающее, выравнивает ли обработчик композиции отображаемый визуальный элемент с границой пикселя.

(Унаследовано от Visual)
IsVisible

Указывает, видим ли визуальный элемент и все его поддерево дочерних визуальных элементов.

(Унаследовано от Visual)
Offset

Смещение визуального элемента относительно его родительского элемента или для корневого визуального элемента смещение относительно левого верхнего угла окна, в котором размещен визуальный элемент. Анимация.

(Унаследовано от Visual)
Opacity

Прозрачность визуального элемента. Анимация.

Свойство непрозрачности определяет прозрачность (если таковой имеется) визуального элемента и является значением от 0 до 1. 0 является полностью прозрачным, а 1 — полностью непрозрачным. Визуальный элемент со свойством Opacity 0 по-прежнему присутствует в дереве. Как и другие свойства визуального элемента, Opacity можно анимировать с помощью windows,ui. Система анимации композиции.

(Унаследовано от Visual)
Orientation

Кватернион, описывающий ориентацию и поворот в трехмерном пространстве, которые будут применены к визуальному элементу. Анимация.

(Унаследовано от Visual)
Parent

Родительский объект визуального объекта.

(Унаследовано от Visual)
ParentForTransform

Визуальный элемент, указывающий систему координат, в которой состоит этот визуальный элемент.

(Унаследовано от Visual)
Properties

Коллекция свойств, связанных с CompositionObject.

(Унаследовано от CompositionObject)
RelativeOffsetAdjustment

Задает смещение визуального элемента относительно размера его родительского визуального элемента.

(Унаследовано от Visual)
RelativeSizeAdjustment

Возвращает или задает размер визуального элемента относительно размера его родительского визуального элемента.

(Унаследовано от Visual)
RotationAngle

Угол поворота в радианах визуального элемента. Анимация.

(Унаследовано от Visual)
RotationAngleInDegrees

Угол поворота визуального элемента в градусах. Анимация.

(Унаследовано от Visual)
RotationAxis

Ось для поворота визуального элемента. Анимация.

(Унаследовано от Visual)
Scale

Масштаб, применяемый к визуальному элементу.

(Унаследовано от Visual)
Shadow

Тень, применяемая к плоскую структуру дочерних элементов объекта LayerVisual.

Size

Ширина и высота визуального элемента. Анимация.

(Унаследовано от Visual)
TransformMatrix

Матрица преобразования, применяемая к визуальному элементу. Анимация.

(Унаследовано от Visual)

Методы

Close()

Закрывает объект CompositionObject и освобождает системные ресурсы.

(Унаследовано от CompositionObject)
Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

(Унаследовано от CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Определяет свойство, которое можно анимировать.

(Унаследовано от CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Подключает анимацию к указанному свойству объекта и запускает анимацию.

(Унаследовано от CompositionObject)
StartAnimation(String, CompositionAnimation)

Подключает анимацию к указанному свойству объекта и запускает анимацию.

(Унаследовано от CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Запускает группу анимации.

Метод StartAnimationGroup в CompositionObject позволяет запустить CompositionAnimationGroup. Все анимации в группе будут запущены одновременно для объекта .

(Унаследовано от CompositionObject)
StopAnimation(String)

Отключает анимацию от указанного свойства и останавливает анимацию.

(Унаследовано от CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Останавливает группу анимации.

(Унаследовано от CompositionObject)
TryGetAnimationController(String)

Возвращает AnimationController для анимации, выполняемой с указанным свойством.

(Унаследовано от CompositionObject)

Применяется к

См. также раздел