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


CompositeTransform Класс

Определение

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

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

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)

Примеры

В этом примере показано, как применить одни и те же преобразования к объекту с помощью 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. Неравномерное распределение (SkewX, SkewY)
  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

Возвращает объект CoreDispatcher , с которым связан этот объект. CoreDispatcher представляет собой средство, которое может получить доступ к 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)

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

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