Transform classes in Silverlight are used to rotate, scale, skew and translate objects. In this we will be seeing the ScaleTransform and its properties.
Namespace: System.Windows.Media
Assembly: System.Windows
Scale Transform:
It is used to stretch or shrink an object horizontally or vertically. It is defined by the following properties.
- ScaleX
- ScaleY
ScaleX Property:
It is used to specify the amount to stretch or shrink an object along the x-axis.
<Canvas Height="200" Width="200" Background="Gray">
<Rectangle Canvas.Left="75" Canvas.Top="75" x:Name="rect" Height="50" Width="50" Fill="Black" Opacity="0.5">
<Rectangle.RenderTransform>
<ScaleTransform x:Name="scaleTransform" ScaleX="2" ></ScaleTransform>
</Rectangle.RenderTransform>
</Rectangle>
</Canvas>
ScaleY Property:
It is used to specify the amount to stretch or shrink an object along the y-axis.
<Canvas Height="200" Width="200" Background="Gray">
<Rectangle Canvas.Left="75" Canvas.Top="75" x:Name="rect" Height="50" Width="50" Fill="Black" Opacity="0.5">
<Rectangle.RenderTransform>
<ScaleTransform x:Name="scaleTransform" ScaleY="2" ></ScaleTransform>
</Rectangle.RenderTransform>
</Rectangle>
</Canvas>
ScaleX=2; ScaleY=2;
<Canvas Height="200" Width="200" Background="Gray">
<Rectangle Canvas.Left="75" Canvas.Top="75" x:Name="rect" Height="50" Width="50" Fill="Black" Opacity="0.5">
<Rectangle.RenderTransform>
<ScaleTransform x:Name="scaleTransform" ScaleX="2" ScaleY="2" ></ScaleTransform>
</Rectangle.RenderTransform>
</Rectangle>
</Canvas>
Steps Involved:
Creating a Silverlight Application:
- Open Visual Studio 2010.
- Go to File => New => Project.
- Select Silverlight from the Installed templates and choose the Silverlight Application template.
- Enter the Name and choose the location.
- Click OK.
- In the New Silverlight Application wizard check the "Host the Silverlight Application in a new Web site".
- Click OK.
Creating the UI:
Open MainPage.xaml file and replace the code with the following.
<UserControl x:Class="SilverlightScaleTransform.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Canvas Height="200" Width="200" Background="Gray">
<Rectangle Canvas.Left="75" Canvas.Top="75" x:Name="rect" Height="50" Width="50" Fill="Black" Opacity="0.5">
<Rectangle.RenderTransform>
<ScaleTransform x:Name="scaleTransform" ScaleX="2" ScaleY="2" ></ScaleTransform>
</Rectangle.RenderTransform>
</Rectangle>
</Canvas>
Testing the solution:
- Build the solution.
- Hit ctrl+F5.

Join the conversation! Your thoughts help the community grow.