Translates (moves) an object in the two-dimensional x-y coordinate system.
Namespace:
System.Windows.Media
Assembly:
System.Windows (in System.Windows.dll)
Visual Basic (Declaration)
Public NotInheritable Class TranslateTransform _
Inherits Transform
Dim instance As TranslateTransform
public sealed class TranslateTransform : Transform
XAML Object Element Usage
<TranslateTransform .../>
The local 0,0 for an object can be offset on a Canvas using Canvas..::.Left and Canvas..::.Top, but this does not count as a transform; the object retains its own local 0,0 in this case for transform purposes.
Multiple transforms can be applied with a TransformGroup. Custom transforms can be created with a MatrixTransform.
TranslateTransform defines an axis-aligned translation along the x and y axes. The following illustration shows the transformation matrix for a translation by offset (dx, dy).
TranslateTransform matrix
.png)
Transforms can alter the display of text in your application to create a decorative effect. The following illustration shows text translated, or moved, along the x and y axes.
TextBlock using a TranslateTransform
The following example uses a TranslateTransform to offset text. In this example, a slightly offset copy of text below the primary text creates a shadow effect.
Run this sample
<Canvas>
<!-- Offset the text using a TranslateTransform. -->
<TextBlock
FontFamily="Verdana"
FontSize="32"
FontWeight="Bold"
Foreground="Black"
Text="Translated Text">
<TextBlock.RenderTransform>
<TranslateTransform X="2" Y="2" />
</TextBlock.RenderTransform>
</TextBlock>
<TextBlock
FontFamily="Verdana"
FontSize="32"
FontWeight="Bold"
Foreground="Coral"
Text="Translated Text"/>
</Canvas>
The example below shows how to increase the X and Y property values of a TranslateTransform applied to a Rectangle every time the Rectangle is clicked.
Run this sample
<Canvas
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="200" Height="200">
<Rectangle MouseLeftButtonDown="handleMouseButtonDown"
Width="50" Height="50" Fill="RoyalBlue">
<Rectangle.RenderTransform>
<!-- If you give the transform a name you can access it easily
from code. -->
<TranslateTransform x:Name="myTranslateTransform" />
</Rectangle.RenderTransform>
</Rectangle>
</Canvas>
private void handleMouseButtonDown(object sender, EventArgs e)
{
// Increase the X and Y properties.
myTranslateTransform.X = myTranslateTransform.X + 15;
myTranslateTransform.Y = myTranslateTransform.Y + 15;
}
System..::.Object
System.Windows..::.DependencyObject
System.Windows.Media..::.GeneralTransform
System.Windows.Media..::.Transform
System.Windows.Media..::.TranslateTransform
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Reference
Other Resources