Export (0) Print
Expand All

ScaleTransform.ScaleX Property

Gets or sets the x-axis scale factor. This is a dependency property.

Namespace: System.Windows.Media
Assembly: PresentationCore (in presentationcore.dll)
XML Namespace:  http://schemas.microsoft.com/winfx/2006/xaml/presentation

'Declaration
Public Property ScaleX As Double
'Usage
Dim instance As ScaleTransform
Dim value As Double

value = instance.ScaleX

instance.ScaleX = value
/** @property */
public double get_ScaleX ()

/** @property */
public void set_ScaleX (double value)

public function get ScaleX () : double

public function set ScaleX (value : double)

<object ScaleX="double" .../>

Property Value

The scale factor along the x-axis. The default value is 1.

Identifier field

ScaleXProperty

Metadata properties set to true

None

Values between 0 and 1 decrease the width of the scaled object; values greater than 1 increase the width of the scaled object. A value of 1 indicates that the object is not scaled in the x-direction.

Negative values flip the scaled object horizontally. Values between 0 and -1 flip the scale object and decrease its width. Values less than -1 flip the object and increase its width. A value of -1 flips the scaled object but does not change its horizontal size.

For more information and examples, see How to: Scale an Element and How to: Flip a UIElement Horizontally or Vertically.

This example shows how to use a ScaleTransform 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 ScaleTransform is centered at the point (0,0). 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.

The following example uses a ScaleTransform to double the size of a 50 by 50 Rectangle. The ScaleTransform has a value of 0 (the default) for both CenterX and CenterY.

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

Typically, you set CenterX and CenterY to the center of the object that is scaled: (Width/2, Height/2).

The following example shows another Rectangle that is doubled in size; however, this ScaleTransform has a value of 25 for both CenterX and CenterY, which corresponds to the center of the 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 ScaleTransform operations. The dotted line shows the size and position of the rectangle before scaling.

Two ScaleTransform operations with identical ScaleX and ScaleY values but different centers


2x scales with different center points

For the complete sample, see 2-D Transforms Sample.

More Code

How to: Flip a UIElement Horizontally or Vertically

This example shows how to use a ScaleTransform to flip a UIElement horizontally or vertically. In this example, a Button control (a type of UIElement) is flipped by applying a ScaleTransform 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 ScaleTransform.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0

Community Additions

ADD
Show:
© 2014 Microsoft