A polygon is a series of
connected lines which is a closed shape. A closed shape is a shape that has same
start point and end point.
The Polygon object
represents a polygon shape and draws a polygon for the given connected points.
The Fill property fills the interior of an ellipse. The Stroke property sets the
color and StrokeThickness represents the width of the outer line of an ellipse.
The Points property of the Polygon represents a collection of Point that defines
the points in a polygon. The FillRule property represents how the interior of
the polygon is determined.
Creating a Polygon
The Polygon element in
XAML creates a polygon shape. The following code snippet creates a polygon by
setting its Points property to the connected points in a polygon. The code also
sets the black stroke of width 4 and fills it with yellow color.
<Polygon
Points="50,
100 200, 100 200, 200 300, 30"
Stroke="Black"
StrokeThickness="4"
Fill="Yellow"
/>
The output looks like
Figure 11.
Figure 11. A Polygon
The CreateAPolygon method
listed in Listing 10 draws same rectangle in Figure 11 dynamically.
private
void CreateAPolygon()
{
// Create a blue and a black
Brush
SolidColorBrush yellowBrush = new
SolidColorBrush();
yellowBrush.Color =
Colors.Yellow;
SolidColorBrush
blackBrush = new
SolidColorBrush();
blackBrush.Color =
Colors.Black;
// Create a Polygon
Polygon
yellowPolygon = new
Polygon();
yellowPolygon.Stroke = blackBrush;
yellowPolygon.Fill = yellowBrush;
yellowPolygon.StrokeThickness = 4;
// Create a collection of points for a polygon
System.Windows.Point
Point1 = new System.Windows.Point(50,
100);
System.Windows.Point
Point2 = new System.Windows.Point(200,
100);
System.Windows.Point
Point3 = new System.Windows.Point(200,
200);
System.Windows.Point
Point4 = new System.Windows.Point(300,
30);
PointCollection
polygonPoints = new
PointCollection();
polygonPoints.Add(Point1);
polygonPoints.Add(Point2);
polygonPoints.Add(Point3);
polygonPoints.Add(Point4);
// Set Polygon.Points properties
yellowPolygon.Points = polygonPoints;
// Add Polygon to the page
LayoutRoot.Children.Add(yellowPolygon);
}
Listing 10
LayoutRoot in the this code below code is the name (ID)
of the parent Grid panel. By default, a Grid does not have Name attribute
set. You must set it using the following code:
<Grid
Name="LayoutRoot"
/>