<Window x:Class="ScaleTransforms"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Scale Transforms" Height="330" Width="480">
<Viewbox Stretch="Uniform">
<Grid Width="525" Height="330" HorizontalAlignment="Left"
VerticalAlignment="Top" ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="260" />
<ColumnDefinition Width="260" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="1">
<TextBlock HorizontalAlignment="Center"
Margin="10,10,10,10" TextWrapping="Wrap" FontSize="14"
FontWeight="Bold" Text="Interactive Scaling" />
<Grid Width="260" Height="26" HorizontalAlignment="Left"
VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="70" />
<ColumnDefinition Width="50" />
<ColumnDefinition Width="70" />
<ColumnDefinition Width="50" />
</Grid.ColumnDefinitions>
<TextBlock Margin="2,2,10,2" TextAlignment="Right"
Text="ScaleX" />
<TextBox Name="tbScaleX" Width="50" Height="20"
Grid.Column="1" TextAlignment="Center" Text="1" />
<TextBlock Margin="2,2,10,2" Grid.Column="2"
TextAlignment="Right" Text="ScaleY" />
<TextBox Name="tbScaleY" Width="50" Height="20"
Grid.Column="3" TextAlignment="Center" Text="1" />
</Grid>
<Canvas ClipToBounds="True" Width="240"
Height="250">
<TextBlock Canvas.Left="90" Canvas.Top="63"
Text="Original shape" />
<Rectangle Canvas.Top="80" Canvas.Left="100"
Width="50" Height="70" Stroke="Black" StrokeThickness="1"
StrokeDashArray="3,1" />
<Rectangle Canvas.Top="80" Canvas.Left="100"
Width="50" Height="70" Fill="LightCoral" Opacity="0.5"
Stroke="Black" StrokeThickness="2">
<Rectangle.RenderTransform>
<ScaleTransform
ScaleX="{Binding ElementName=tbScaleX,Path=Text}"
ScaleY="{Binding ElementName=tbScaleY,Path=Text}" CenterX="25"
CenterY="35" />
</Rectangle.RenderTransform>
</Rectangle>
</Canvas>
</StackPanel>
</Grid>
</Viewbox>
</Window>
|