Трансформации

Последнее обновление: 1.11.2015

Кроме анимаций Silverlight предлагает еще трансформации. Эти трансформации устанавливаются с помощью свойства RenderTransform, определенного у элементов управления. Например,

        <Button Content="Hello World" Width="200" Height="30">
            <Button.RenderTransform>
                <RotateTransform Angle="45" CenterX="100" />
            </Button.RenderTransform>
        </Button>

RotateTransform

Выше был приведен пример этой трансформации. Она обеспечивает поворот элемента на определенный угол, задаваемый свойством Angle. Кроме того, свойства CenterX и CenterY позволяют сместить центр поворота относительно осей координат.

ScaleTransform

Обеспечивает масштабирование элемента на определенную величину. Чтобы изменить ширину, надо задать свойство ScaleX, а длину - свойство ScaleY. Кроме того, также имеются свойства CenterX и CenterY, позволяющие позиционировать элемент.

        <Button Content="Hello World" Width="200" Height="30">
            <Button.RenderTransform>
                <ScaleTransform ScaleX="1.2" CenterX="70" ScaleY="1.3" />
            </Button.RenderTransform>
        </Button>

TranslateTransform

Позволяет сместить положение элемента по оси X, с помощью свойства X, и по оси Y - с помощью свойства Y.

        <Button Content="Hello World" Width="200" Height="30">
            <Button.RenderTransform>
                <TranslateTransform Y="-30" />
            </Button.RenderTransform>
        </Button>

SkewTransform

Позволяет задать наклон элемента вдоль оси X, с помощью свойства AngleX, и по оси Y - с помощью свойства AngleY. Кроме того, также имеются свойства CenterX и CenterY, позволяющие позиционировать элемент.

        <Button Content="Hello World" Width="200" Height="30">
            <Button.RenderTransform>
                <SkewTransform AngleX="45" />
            </Button.RenderTransform>
        </Button>

MatrixTransform

Осуществляет матричное преобразование элемента. В свойстве Matrix мы задаем первые два столбца, применяющиеся при преобразовании. Последний столбец по умолчанию имеет значения {0 0 1}.

        <Button Content="Hello World" Width="200" Height="30">
            <Button.RenderTransform>
                <MatrixTransform Matrix="1 0 1 2 1 -3" />
            </Button.RenderTransform>
        </Button>

TransformGroup

С помощью этого объекта мы можем комбинировать различные трансформации вместе:

       <Button Content="Hello World" Width="200" Height="30">
            <Button.RenderTransform>
                <TransformGroup>
                    <RotateTransform Angle="45" />
                    <TranslateTransform Y="-40" X="30" />
                </TransformGroup>
            </Button.RenderTransform>
        </Button>
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850