如何:使用 MatrixTransform 创建自定义变换

更新:2007 年 11 月

此示例演示如何使用 MatrixTransform 平移(移动)Button 的位置、拉伸和扭曲。

说明:

使用 MatrixTransform 类来创建 RotateTransformSkewTransformScaleTransformTranslateTransform 类未提供的自定义变换。

示例

<Page xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" >
  <StackPanel Margin="20">
    <Canvas HorizontalAlignment="Left" Width="340" Height="240" >

      <Button MinWidth="100">Click
        <Button.RenderTransform>
          <MatrixTransform x:Name="myMatrixTransform">
            <MatrixTransform.Matrix >

              <!-- OffsetX and OffsetY specify the position of the button,
              M11 stretches it, and M12 skews it. -->
              <Matrix OffsetX="10" OffsetY="100" M11="3" M12="2"/>
            </MatrixTransform.Matrix>
          </MatrixTransform>
        </Button.RenderTransform>
      </Button>
    </Canvas>
  </StackPanel>
</Page>

请参见

概念

变换概述

WPF 中的形状和基本绘图概述

参考

MatrixTransform

Transform

其他资源

变换帮助主题

转换示例