Click to Rate and Give Feedback
MSDN
MSDN Library
Web Development
Silverlight 3

  Switch on low bandwidth view
This page is specific to
Microsoft Silverlight 3

Other versions are also available for the following:
.NET Framework Class Library for Silverlight
TranslateTransform Class

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
Visual Basic (Usage)
Dim instance As TranslateTransform
C#
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

ms635609.JOLT_local_-1463449511_translate_matrix(en-us,VS.95).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

ms635609.JOLT_transformedtext04(en-us,VS.95).png

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

<!-- 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"/>

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>
function handleMouseButtonDown(sender, mouseEventArgs)
{
    // Retrieve a reference to the TranslateTransform object.
    var translateTransform = sender.findName("myTranslateTransform");

    // Increase the X and Y properties.
    translateTransform.X = translateTransform.X + 15;
    translateTransform.Y = translateTransform.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.

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker