このドキュメントはアーカイブされており、メンテナンスされていません。

TranslateTransform クラス

更新 : 2007 年 11 月

2-D の 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 は、x 軸および y 軸に沿った軸平行変換を定義します。オフセット (dxdy) による変換の変換行列を次の図に示します。

2-D 変換の標準の 3 x 3 行列

行列 100010dxdy1 の変換

Freezable の機能 :Freezable クラスを継承するため、TranslateTransform クラスはいくつかの特殊な機能を備えています。TranslateTransform オブジェクトは、リソースとして宣言し、複数のオブジェクトで共有し、読み取り専用にしてパフォーマンスを向上させ、複製し、スレッド セーフにすることができます。Freezable のさまざまな機能の詳細については、「Freezable オブジェクトの概要」を参照してください。

この例では、TranslateTransform を使用して要素を変換 (移動) する方法を示します。

TranslateTransform クラスは、絶対配置をサポートしないパネルの内部で要素を移動する場合に特に便利です。たとえば、要素の RenderTransform プロパティに TranslateTransform を適用することで、StackPanel または DockPanel 内で要素を移動できます。

x 軸方向の要素の移動量 (ピクセル単位) を指定するには、TranslateTransformX プロパティを使用します。y 軸方向の要素の移動量 (ピクセル単位) を指定するには、Y プロパティを使用します。最後に、要素の RenderTransform プロパティに TranslateTransform を適用します。

次の例では、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>


サンプル全体については、「2-D 変換のサンプル」を参照してください。

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

.NET Framework

サポート対象 : 3.5、3.0
表示: