Rotate then Translate

image_pdfimage_print


   
  

<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">

        <Canvas Height="200" Width="200">
          <Polyline
            Points="25,25 0,50 25,75 50,50 25,25 25,0" Stroke="Blue" StrokeThickness="10"
            Canvas.Left="75" Canvas.Top="50">
            <Polyline.RenderTransform>
                <TransformGroup>
                    <TransformGroup.Children>
                        <TransformCollection>
                            <RotateTransform CenterX="25" CenterY="50" Angle="45" />
                            <TranslateTransform X="50" Y="0" />
                        </TransformCollection>
                    </TransformGroup.Children>
               </TransformGroup>
            </Polyline.RenderTransform>
          </Polyline>
          <Polyline Points="25,25 0,50 25,75 50,50 25,25 25,0" Stroke="Blue" StrokeThickness="10"
            Opacity="0.25" Canvas.Left="75" Canvas.Top="50" /> 
        </Canvas>

</Window>

   
    
     


TranslateTransform X: 0 / Y : 50

image_pdfimage_print


   
  

<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
        <Canvas Width="250" Height="250">
          <Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
            Canvas.Left="100" Canvas.Top="100" Stroke="Blue" StrokeThickness="2">
            <Rectangle.RenderTransform>
              <TranslateTransform X="0" Y="50" />
            </Rectangle.RenderTransform>
          </Rectangle>
        </Canvas>

</Window>

   
    
     


TranslateTransform X: 50 / Y: 50

image_pdfimage_print


   
  

<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
        <Canvas Width="250" Height="250">
          <Rectangle Height="50" Width="50" 
            Fill="#CCCCCCFF" Stroke="Blue" StrokeThickness="2"
            Canvas.Left="100" Canvas.Top="100">
            <Rectangle.RenderTransform>
              <TranslateTransform X="50" Y="50" />
            </Rectangle.RenderTransform>
          </Rectangle>
        </Canvas>

</Window>

   
    
     


Applies a vertical skew of 45 degrees from a center point of (25,25)

image_pdfimage_print


   
  

<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
        <Canvas Width="250" Height="250">
          <Rectangle Height="50" Width="50" Fill="#CCCCCCFF" 
            Stroke="Blue" StrokeThickness="2"
            Canvas.Left="100" Canvas.Top="100">
            <Rectangle.RenderTransform>
              <SkewTransform CenterX="25" CenterY="25" AngleX="0" AngleY="45" />
            </Rectangle.RenderTransform>
          </Rectangle> 
        </Canvas>

</Window>

   
    
     


SkewTransform AngleX: 45 / AngleY: 0 / RenderTransformOrigin: (0.5,0.5)

image_pdfimage_print


   
  
<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
        <Canvas Width="250" Height="250">
          <Rectangle Height="50" Width="50" Fill="#CCCCCCFF"
            Canvas.Left="100" Canvas.Top="100" Stroke="Blue" StrokeThickness="2"
            RenderTransformOrigin="0.5,0.5">
            <Rectangle.RenderTransform>
              <SkewTransform AngleX="45" AngleY="0" />
            </Rectangle.RenderTransform>
          </Rectangle>
        </Canvas>

</Window>

   
    
     


TranslateTransform X: 50 / Y: 0

image_pdfimage_print
   
  

<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
      <Canvas Width="250" Height="250">
          <Rectangle Height="50" Width="50" 
            Fill="#CCCCCCFF" Stroke="Blue" StrokeThickness="2"
            Canvas.Left="100" Canvas.Top="100">
            <Rectangle.RenderTransform>
              <TranslateTransform X="50" Y="0" />
            </Rectangle.RenderTransform>
          </Rectangle>
          <Rectangle Style="{StaticResource MarkerRectangleStyle}"  />            
        </Canvas>

</Window>

   
    
     


Applies a horizontal skew of 45 degrees from a center point of (0,0)

image_pdfimage_print


   
  
<Window x:Class="Workspace.DockExample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Workspace" Width="640" Height="480">
        <Canvas Width="250" Height="250">
          <Rectangle 
            Height="50" Width="50" Fill="#CCCCCCFF" 
            Stroke="Blue" StrokeThickness="2"
            Canvas.Left="100" Canvas.Top="100">
            <Rectangle.RenderTransform>
              <SkewTransform CenterX="0" CenterY="0" AngleX="45" AngleY="0" />
            </Rectangle.RenderTransform>
          </Rectangle>
        </Canvas>

</Window>