<Window x:Class="WpfApplication1.ObjectMatrixTransforms"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Object Matrix Transforms" Height="300" Width="400">
<StackPanel>
<Button Click="BtnClose_Click" Margin="15,0,15,5">Close</Button>
<Canvas Name="canvas1" ClipToBounds="True" Width="270" Height="280">
<TextBlock Canvas.Top="53" Canvas.Left="90">Original shape</TextBlock>
<Rectangle Canvas.Top="70" Canvas.Left="100" Width="50" Height="70" Stroke="Black" StrokeThickness="2"
StrokeDashArray="3,1" />
<Rectangle Name="rect" Canvas.Top="70" Canvas.Left="100" Width="50" Height="70" Fill="LightCoral"
Opacity="0.5" Stroke="Black" StrokeThickness="2">
<Rectangle.RenderTransform>
<MatrixTransform x:Name="matrixTransform" />
</Rectangle.RenderTransform>
</Rectangle>
</Canvas>
</StackPanel>
</Window>
//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Shapes;
namespace WpfApplication1
{
public partial class ObjectMatrixTransforms : Window
{
public ObjectMatrixTransforms()
{
InitializeComponent();
}
public void BtnApply_Click(object sender, EventArgs e)
{
Matrix m = new Matrix();
m.M11 = 1;
m.M12 = 0;
m.M21 = 0;
m.M22 = 1;
m.OffsetX = 1;
m.OffsetY = 2;
matrixTransform.Matrix = m;
}
}
}