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
- Наследование
- Атрибуты
Примеры
Применение эффектов к Объекту 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) |