本文档已存档,并且将不进行维护。

TranslateTransform 类

更新:2007 年 11 月

在 二维 x-y 坐标系中平移(移动)对象。

命名空间:  System.Windows.Media
程序集:  PresentationCore(在 PresentationCore.dll 中)
用于 XAML 的 XMLNS:http://schemas.microsoft.com/winfx/xaml/presentation

public sealed class TranslateTransform : Transform
public final class TranslateTransform extends Transform
public final class TranslateTransform extends Transform
<TranslateTransform .../>

TranslateTransform 定义沿 x 轴和 y 轴进行的轴对齐平移。下图用偏移 (dx, dy) 说明平移的变换矩阵。

用于二维平移的典型 3x3 矩阵

平移矩阵 100010dxdy1

可冻结功能:由于继承自 Freezable 类,因此 TranslateTransform 类提供了一些特殊功能:TranslateTransform 对象可按资源中的方式进行声明、在多个对象之间共享、设为只读以提高性能、进行克隆以及设为线程安全。有关 Freezable 对象提供的不同功能的更多信息,请参见 Freezable 对象概述

此示例演示如何通过使用 TranslateTransform 平移(移动)元素。

TranslateTransform 类对移动不支持绝对定位的面板内的元素特别有用。例如,通过将 TranslateTransform 应用到元素的 RenderTransform 属性,可以移动 StackPanelDockPanel 内的元素。

使用 TranslateTransformX 属性指定将元素沿 X 轴移动的量(以像素为单位)。使用 Y 属性指定将元素沿 Y 轴移动的量(以像素为单位)。最后,将 TranslateTransform 应用于元素的 RenderTransform 属性。

下面的示例使用 TranslateTransform 将元素向右移动 50 个像素 并向下移动 50 个像素。

<Rectangle Height="50" Width="50" 
  Fill="#CCCCCCFF" Stroke="Blue" StrokeThickness="2"
  Canvas.Left="100" Canvas.Top="100">
  <Rectangle.RenderTransform>
    <TranslateTransform X="50" Y="50" />
  </Rectangle.RenderTransform>
</Rectangle>


有关完整示例,请参见 二维转换示例

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

Windows Vista

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

.NET Framework

受以下版本支持:3.5、3.0
显示: