Scales an object in the 2-D x-y coordinate system.
Assembly: PresentationCore (in PresentationCore.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
Use a to stretch or shrink an object horizontally or vertically. The ScaleX property specifies by how much to stretch or shrink an object along the x-axis, and the ScaleY property specifies by how much to stretch or shrink an object along the y-axis. Scale operations are centered on the point specified by the CenterX and CenterY properties.
Freezable Features: Because it inherits from the Freezable class, the class provides several special features: objects can be declared as resources, shared among multiple objects, made read-only to improve performance, cloned, and made thread-safe. For more information about the different features provided by Freezable objects, see Freezable Objects Overview.
This example shows how to use a to scale an element.
Use the ScaleX and ScaleY properties to resize the element by the factor you specify. For example, a ScaleX value of 1.5 stretches the element to 150 percent of its original width. A ScaleY value of 0.5 shrinks the height of an element by 50 percent.
Use the CenterX and CenterY properties to specify the point that is the center of the scale operation. By default, a is centered at the point (0,0), which corresponds to the upper-left corner of the rectangle. This has the effect of moving the element and also of making it appear larger, because when you apply a Transform, you change the coordinate space in which the object resides.
<!-- Scales a rectangle by 200% from a center of (0,0).--> <Rectangle Height="50" Width="50" Fill="#CCCCCCFF" Stroke="Blue" StrokeThickness="2" Canvas.Left="100" Canvas.Top="100"> <Rectangle.RenderTransform> <ScaleTransform CenterX="0" CenterY="0" ScaleX="2" ScaleY="2" /> </Rectangle.RenderTransform> </Rectangle>
<!-- Scales a rectangle by 200% from a center of (25,25).--> <Rectangle Height="50" Width="50" Fill="#CCCCCCFF" Canvas.Left="100" Canvas.Top="100" Stroke="Blue" StrokeThickness="2"> <Rectangle.RenderTransform> <ScaleTransform CenterX="25" CenterY="25" ScaleX="2" ScaleY="2" /> </Rectangle.RenderTransform> </Rectangle>
The following illustration shows the difference between the two operations. The dotted line shows the size and position of the rectangle before scaling.
For the complete sample, see 2-D Transforms Sample.
|How to: Flip a UIElement Horizontally or Vertically||This example shows how to use a to flip a UIElement horizontally or vertically. In this example, a Button control (a type of UIElement) is flipped by applying a to its RenderTransform property.|
|How to: Animate the Size of a FrameworkElement||To animate the size of a FrameworkElement, you can either animate its Width and Height properties or use an animated .|
|How to: Apply a Transform to an Element When an Event Occurs||This example shows how to apply a when an event occurs. The concept that is shown here is the same that you use for applying other types of transformations. For more information about the available types of transformations, see the Transform class or Transforms Overview.|
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.