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


CompositeTransform Класс

Определение

Применяет несколько операций преобразования к объекту.

public ref class CompositeTransform sealed : Transform
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CompositeTransform final : Transform
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositeTransform : Transform
Public NotInheritable Class CompositeTransform
Inherits Transform
<CompositeTransform .../>
Наследование
Object Platform::Object IInspectable DependencyObject GeneralTransform Transform CompositeTransform
Атрибуты

Примеры

В этом примере показано, как применить те же преобразования к объекту с помощью CompositeTransform или TransformGroup.

<StackPanel Margin="50">
    <Canvas Background="Black" Width="200" Height="200">
        <Rectangle Height="100" Width="100" Fill="Red">
            <Rectangle.RenderTransform>

                <!-- This one line of markup is the equivalent of the entire
             TransformGroup block in the other Canvas below. -->
                <CompositeTransform SkewX="30" Rotation="45" ScaleX="0.8" ScaleY="0.8" />
            </Rectangle.RenderTransform>
        </Rectangle>
    </Canvas>

    <Canvas Margin="10" Background="Black" Width="200" Height="200">
        <Rectangle Height="100" Width="100" Fill="Red">
            <Rectangle.RenderTransform>
                <TransformGroup>

                    <!-- Note that you have to apply these transforms in 
                     a specific order to get the same effect as the
                     CompositeTransform. -->
                    <ScaleTransform ScaleX="0.8" ScaleY="0.8" />
                    <SkewTransform AngleX="30" />
                    <RotateTransform Angle="45" />
                </TransformGroup>
            </Rectangle.RenderTransform>
        </Rectangle>
    </Canvas>
</StackPanel>

Комментарии

CompositeTransform применяет несколько преобразований в следующем порядке:

  1. Масштаб (ScaleX, Scaley )
  2. Неравномерное распределение (скрести,неравномерное распределение)
  3. Поворот (поворот)
  4. Translate (TranslateX, Translatey)

Если вы хотите применить несколько преобразований к объекту в другом порядке, можно создать TransformGroup и вставить преобразования в нужном порядке.

CompositeTransform использует одну и ту же центральную точку (CenterX, CenterY) для всех преобразований. Если вы хотите указать разные центральные точки для каждого преобразования, используйте TransformGroup.

Конструкторы

CompositeTransform()

Инициализирует новый экземпляр класса CompositeTransform .

Свойства

CenterX

Возвращает или задает координату X центральной точки для всех преобразований, заданных CompositeTransform , в независимых от устройства пикселях (DIP) относительно верхнего левого угла элемента.

CenterXProperty

Определяет свойство зависимости CenterX .

CenterY

Возвращает или задает координату Y центральной точки для всех преобразований, заданных CompositeTransform , в независимых от устройства пикселях (DIP) относительно левого верхнего угла элемента.

CenterYProperty

Определяет свойство зависимости CenterY .

Dispatcher

Всегда возвращается null в приложении Windows App SDK. Вместо этого используйте DispatcherQueue .

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

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

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

Возвращает обратное преобразование этого объекта GeneralTransform, если это возможно.

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

Реализует поведение для возвращаемого значения Inverse в производном или настраиваемом GeneralTransform.

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

Возвращает или задает угол поворота по часовой стрелке в градусах.

RotationProperty

Идентифицирует свойство зависимости Rotation .

ScaleX

Получает или задает коэффициент масштабирования по оси X. Это свойство можно использовать для растяжения или сжатия объекта по горизонтали.

ScaleXProperty

Определяет свойство зависимости ScaleX .

ScaleY

Получает или задает коэффициент масштабирования по оси y. Это свойство можно использовать для растяжения или сжатия объекта по вертикали.

ScaleYProperty

Определяет свойство зависимости ScaleY .

SkewX

Получает или задает угол отклонения оси X, измеряемый в градусах против часовой стрелки от оси Y. Преобразование неравномерного распределения может быть полезно для создания иллюзии трехмерной глубины в двумерном объекте.

SkewXProperty

Определяет свойство зависимости SkewX .

SkewY

Получает или задает угол отклонения оси Y, измеряемый в градусах против часовой стрелки от оси X. Преобразование неравномерного распределения может быть полезно для создания иллюзии трехмерной глубины в двумерном объекте.

SkewYProperty

Идентифицирует свойство зависимости SkewY .

TranslateX

Получает или задает расстояние для переноса по оси X.

TranslateXProperty

Определяет свойство зависимости TranslateX .

TranslateY

Получает или задает расстояние для переноса (перемещения) объекта по оси X.

TranslateYProperty

Определяет свойство зависимости TranslateY .

Методы

ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

(Унаследовано от DependencyObject)
GetAnimationBaseValue(DependencyProperty)

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

(Унаследовано от DependencyObject)
GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей из DependencyObject.

(Унаследовано от DependencyObject)
ReadLocalValue(DependencyProperty)

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

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомления для прослушивания изменений определенной DependencyProperty в этом экземпляре DependencyObject .

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей для Объекта DependencyObject.

(Унаследовано от DependencyObject)
TransformBounds(Rect)

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

(Унаследовано от GeneralTransform)
TransformBoundsCore(Rect)

Предоставляет средства для переопределения поведения TransformBounds в производном классе преобразования.

(Унаследовано от GeneralTransform)
TransformPoint(Point)

Использует логику этого объекта преобразования для преобразования указанной точки и возвращает результат.

(Унаследовано от GeneralTransform)
TryTransform(Point, Point)

Пытается преобразовать заданную точку и возвращает значение, указывающее, успешно ли выполнено преобразование.

(Унаследовано от GeneralTransform)
TryTransformCore(Point, Point)

Предоставляет средства для переопределения поведения TryTransform в производном классе преобразования.

(Унаследовано от GeneralTransform)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова метода RegisterPropertyChangedCallback.

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

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

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