In this article, we will discuss how to create dashed lines in Path Geometrics in WPF and how we create Transforming shapes In WPF.

Dashed line

Now we create a dashed line in WPF. For this follow these steps:

Step1: First we create a Path tag:

<Path Stroke="Red" StrokeThickness="2"> </Path>

Here we set its color Red and set its thickness to "2".

Step 2: After that we create a <PathGeometry> and <PathFigure> tag in it.

<Path Stroke="Red" StrokeThickness="2">

<Path.Data>
<PathGeometry>
<PathFigure StartPoint="0,90" >
<LineSegment Point="10,90" />

</PathFigure>

<PathFigure StartPoint="15,90" >
<LineSegment Point="30,90" />
</PathFigure>

<PathFigure StartPoint="35,90" >
<LineSegment Point="50,90" />
</PathFigure>
<PathFigure StartPoint="55,90" >
<LineSegment Point="70,90" />
</PathFigure>
<PathFigure StartPoint="45,90" >
<LineSegment Point="50,90" />
</PathFigure>

</PathGeometry>
</Path.Data>
</Path>

Here we use LineSegment to create the line. And set the StartPoint of the <PathFigure> tag.

The Output will be:

WPF1.jpg

Transforming Shapes in WPF

Now we take an example of Transforming Shapes In WPF. For this follow these steps:

Step 1: First we create a PolyLine tag like this and set the RotateTransform tag in it and set its value in it:

<Polyline Points="5,25 0,50 25,75 50,50 25,25 25,0"
Stroke="Red" StrokeThickness="10"
Canvas.Left="105" Canvas.Top="50" Margin="6,125,0,40" HorizontalAlignment="Left" Width="113">
<Polyline.RenderTransform>
<RotateTransform CenterX="50" CenterY="50" Angle="45" />
</Polyline.RenderTransform>
</Polyline>


Output:

WPF2.jpg

Step 2: Now we change the angle:

<Polyline
Points="5,25 0,50 25,75 50,50 25,25 25,0"
Stroke="Red" StrokeThickness="10"
Canvas.Left="75" Canvas.Top="50"
RenderTransformOrigin="0.5,0.5" Height="86" VerticalAlignment="Bottom" Margin="63,0,66,36">
<Polyline.RenderTransform>
<RotateTransform Angle="90" />
</Polyline.RenderTransform>
</Polyline>

Output:

WPF3.jpg

Again we change the angle:

<Polyline
Points="5,25 0,50 25,75 50,50 25,25 25,0"
Stroke="Red" StrokeThickness="10"
Canvas.Left="75" Canvas.Top="50"
RenderTransformOrigin="0.5,0.5" Margin="109,87,20,89">
<Polyline.RenderTransform>
<RotateTransform Angle="180" />
</Polyline.RenderTransform>
</Polyline>


WPF4.jpg

<Polyline
Points="5,25 0,50 25,75 50,50 25,25 25,0"
Stroke="Red" StrokeThickness="10"
Canvas.Left="75" Canvas.Top="50"
RenderTransformOrigin="0.5,0.5" Margin="13,132,116,44">
<Polyline.RenderTransform>
<RotateTransform Angle="280" />
</Polyline.RenderTransform>
</Polyline>

Output:

WPF5.jpg

<Polyline
Points="5,25 0,50 25,75 50,50 25,25 25,0"
Stroke="Red" StrokeThickness="10"
Canvas.Left="75" Canvas.Top="50"
RenderTransformOrigin="0.5,0.5" Margin="0,0,-45,-22" Height="110" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="161">
<Polyline.RenderTransform>
<RotateTransform Angle="360" />
</Polyline.RenderTransform>
</Polyline>

Output:

WPF6.jpg

Output of the Whole Program

WPF7.jpg