变换
WPF中,变换由继承自System.Windows.Media.Transform抽象类的类表示
变换类
|名称|说明|重要属性|
|—-|—-|—-|
|TranslateTransform|将坐标系统移动一定距离,如果希望在不同的地方绘制相同的形状,该变换非常有用|X、Y|
|RotateTransform|旋转坐标系统。正产桂枝的形状绕着选择的中心点旋转|Angle、CenterX、CenterY|
|ScaleTransform|放大或缩小坐标系统,从而绘制更大或更小的图形,可在X和Y反向应用不同的缩放度,从而拉伸或压缩形状|ScalX、ScalY、CenterX、CenterY|
|SkewTransform|通过倾斜一定的角度扭曲坐标系统。例如,如果绘制正方形,通过该变换正方形会变成平行四边形|AngleX、AngleY、CenterX、CenterY|
|MatrixTransform|使用提供的矩阵的乘积修改坐标系统。这是最复杂的选择——为实现该变换,需要掌握一些数学技巧|Martix|
|TransformGroup|组合多个变换,从而可以一次应用所有这些变换,变换顺序很重要,会影响最终结果|N/A|
注意:
所有变换都(T通过Transform类)继承自Freezable类,这意味着他们支持自动更改通知功能,如果改变了在形状中使用的变换,形状会立即重新绘制自身。
变换形状
<Rectangle Width="80" Height="10" Stroke="Blue" Fill="Yellow" Canvas/Left="100" Canvas.Top="100">
<Rectangle.RenderTransform>
<RotateTransform Angle="25"/>
</Rectangle.RenderTransform>
</Rectangle>
借助RenderTransformOrigin=”0.5,0.5″属性,可以绕中心点旋转任意形状
变换元素
RemderTramsfpr,你收早WPF街垒中定义的唯一与变换相关的属性。FrameworkElement类还定义了LayoutTransform属性。LayoutTransform属性以相同的方式变换元素,但在布局之前执行其工作