private void CreateAndShowMainWindow()
        {
            // Create the application's main window
            myWindow = new Window ();

            // Add a Border
            myBorder = new Border();
            myBorder.BorderBrush = Brushes.Black;
            myBorder.BorderThickness = new Thickness(2);
            myBorder.Width = 400;
            myBorder.Height = 600;
            myBorder.Padding = new Thickness(15);
            myBorder.Background = Brushes.White;

            // Create a Grid to host the Shapes
            myGrid = new Grid();
            myGrid.Margin = new Thickness(15);
            myColDef1 = new ColumnDefinition();
            myColDef1.Width = new GridLength(125);
            myColDef2 = new ColumnDefinition();
            myColDef2.Width = new GridLength(1, GridUnitType.Star);
            myGrid.ColumnDefinitions.Add(myColDef1);
            myGrid.ColumnDefinitions.Add(myColDef2);
            myRowDef = new RowDefinition();
            myRowDef1 = new RowDefinition();
            myRowDef2 = new RowDefinition();
            myRowDef3 = new RowDefinition();
            myRowDef4 = new RowDefinition();
            myRowDef5 = new RowDefinition();
            myRowDef6 = new RowDefinition();
            myGrid.RowDefinitions.Add(myRowDef);
            myGrid.RowDefinitions.Add(myRowDef1);
            myGrid.RowDefinitions.Add(myRowDef2);
            myGrid.RowDefinitions.Add(myRowDef3);
            myGrid.RowDefinitions.Add(myRowDef4);
            myGrid.RowDefinitions.Add(myRowDef5);
            myGrid.RowDefinitions.Add(myRowDef6);
            myTextBlock = new TextBlock();
            myTextBlock.FontSize = 20;
            myTextBlock.Text = "WPF Shapes Gallery";
            myTextBlock.HorizontalAlignment = HorizontalAlignment.Left;
            myTextBlock.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock);
            Grid.SetRow(myTextBlock, 0);
            Grid.SetColumnSpan(myTextBlock, 2);


            // Add a Rectangle Element
			myRect = new Mono.System.Windows.Shapes.Rectangle();
            myRect.Stroke = Brushes.Black;
            myRect.Fill = Brushes.SkyBlue;
            myRect.HorizontalAlignment = HorizontalAlignment.Left;
            myRect.VerticalAlignment = VerticalAlignment.Center;
            myRect.Height = 50;
            myRect.Width = 50;
            myGrid.Children.Add(myRect);
            Grid.SetRow(myRect, 1);
            Grid.SetColumn(myRect, 0);
            TextBlock myTextBlock1 = new TextBlock();
            myTextBlock1.FontSize = 14;
            myTextBlock1.Text = "A Rectangle Element";
            myTextBlock1.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock1);
            Grid.SetRow(myTextBlock1, 1);
            Grid.SetColumn(myTextBlock1, 1);


            // Add an Ellipse Element
			myEllipse = new Mono.System.Windows.Shapes.Ellipse();
            myEllipse.Stroke = Brushes.Black;
            myEllipse.Fill = Brushes.DarkBlue;
            myEllipse.HorizontalAlignment = HorizontalAlignment.Left;
            myEllipse.VerticalAlignment = VerticalAlignment.Center;
            myEllipse.Width = 50;
            myEllipse.Height = 75;
            myGrid.Children.Add(myEllipse);
            Grid.SetRow(myEllipse, 2);
            Grid.SetColumn(myEllipse, 0);
            TextBlock myTextBlock2 = new TextBlock();
            myTextBlock2.FontSize = 14;
            myTextBlock2.Text = "An Ellipse Element";
            myTextBlock2.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock2);
            Grid.SetRow(myTextBlock2, 2);
            Grid.SetColumn(myTextBlock2, 1);


            // Add a Line Element
			myLine = new Mono.System.Windows.Shapes.Line();
            myLine.Stroke = Brushes.LightSteelBlue;
            myLine.X1 = 1;
            myLine.X2 = 50;
            myLine.Y1 = 1;
            myLine.Y2 = 50;
            myLine.HorizontalAlignment = HorizontalAlignment.Left;
            myLine.VerticalAlignment = VerticalAlignment.Center;
            myLine.StrokeThickness = 2;
            myGrid.Children.Add(myLine);
            Grid.SetRow(myLine, 3);
            Grid.SetColumn(myLine, 0);
            TextBlock myTextBlock3 = new TextBlock();
            myTextBlock3.FontSize = 14;
            myTextBlock3.Text = "A Line Element";
            myTextBlock3.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock3);
            Grid.SetRow(myTextBlock3, 3);
            Grid.SetColumn(myTextBlock3, 1);


            //Add the Path Element
			myPath = new Mono.System.Windows.Shapes.Path();
            myPath.Stroke = Brushes.Black;
            myPath.Fill = Brushes.MediumSlateBlue;
            myPath.StrokeThickness = 4;
            myPath.HorizontalAlignment = HorizontalAlignment.Left;
            myPath.VerticalAlignment = VerticalAlignment.Center;
            EllipseGeometry myEllipseGeometry = new EllipseGeometry();
            myEllipseGeometry.Center = new Point(50,50);
            myEllipseGeometry.RadiusX = 25;
            myEllipseGeometry.RadiusY = 25;
            myPath.Data = myEllipseGeometry;
            myGrid.Children.Add(myPath);
            Grid.SetRow(myPath, 4);
            Grid.SetColumn(myPath, 0);
            TextBlock myTextBlock4 = new TextBlock();
            myTextBlock4.FontSize = 14;
            myTextBlock4.Text = "A Path Element";
            myTextBlock4.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock4);
            Grid.SetRow(myTextBlock4, 4);
            Grid.SetColumn(myTextBlock4, 1);


            //Add the Polygon Element
			myPolygon = new Mono.System.Windows.Shapes.Polygon();
            myPolygon.Stroke = Brushes.Black;
            myPolygon.Fill = Brushes.LightSeaGreen;
            myPolygon.StrokeThickness = 2;
            myPolygon.HorizontalAlignment = HorizontalAlignment.Left;
            myPolygon.VerticalAlignment = VerticalAlignment.Center;
            Point Point1 = new Point(1, 50);
            Point Point2 = new Point(10,80);
            Point Point3 = new Point(50,50);
            PointCollection myPointCollection = new PointCollection();
            myPointCollection.Add(Point1);
            myPointCollection.Add(Point2);
            myPointCollection.Add(Point3);
            myPolygon.Points = myPointCollection;
            myGrid.Children.Add(myPolygon);
            Grid.SetRow(myPolygon, 5);
            Grid.SetColumn(myPolygon, 0);
            TextBlock myTextBlock5 = new TextBlock();
            myTextBlock5.Text = "A Polygon Element";
            myTextBlock5.FontSize = 14;
            myTextBlock5.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock5);
            Grid.SetRow(myTextBlock5, 5);
            Grid.SetColumn(myTextBlock5, 1);


            // Add the Polyline Element
			myPolyline = new Mono.System.Windows.Shapes.Polyline();
            myPolyline.Stroke = Brushes.SlateGray;
            myPolyline.StrokeThickness = 2;
            myPolyline.FillRule = FillRule.EvenOdd;
            Point Point4 = new Point(1, 50);
            Point Point5 = new Point(10, 80);
            Point Point6 = new Point(20, 40);
            PointCollection myPointCollection2 = new PointCollection();
            myPointCollection2.Add(Point4);
            myPointCollection2.Add(Point5);
            myPointCollection2.Add(Point6);
            myPolyline.Points = myPointCollection2;
            myGrid.Children.Add(myPolyline);
            Grid.SetRow(myPolyline, 6);
            Grid.SetColumn(myPolyline, 0);
            TextBlock myTextBlock6 = new TextBlock();
            myTextBlock6.FontSize = 14;
            myTextBlock6.Text = "A Polyline Element";
            myTextBlock6.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock6);
            Grid.SetRow(myTextBlock6, 6);
            Grid.SetColumn(myTextBlock6, 1);

            // Add the Grid to the Window as Content and show the Window
            myBorder.Child = myGrid;
            myWindow.Content = myBorder;
            myWindow.Background = Brushes.LightSlateGray;
            myWindow.Title = "Shapes Sample";
            myWindow.Show();
        }
        private void CreateAndShowMainWindow()
        {
            // Create the application's main window
            myWindow = new Window();

            // Add a Border
            myBorder                 = new Border();
            myBorder.BorderBrush     = Brushes.Black;
            myBorder.BorderThickness = new Thickness(2);
            myBorder.Width           = 400;
            myBorder.Height          = 600;
            myBorder.Padding         = new Thickness(15);
            myBorder.Background      = Brushes.White;

            // Create a Grid to host the Shapes
            myGrid          = new Grid();
            myGrid.Margin   = new Thickness(15);
            myColDef1       = new ColumnDefinition();
            myColDef1.Width = new GridLength(125);
            myColDef2       = new ColumnDefinition();
            myColDef2.Width = new GridLength(1, GridUnitType.Star);
            myGrid.ColumnDefinitions.Add(myColDef1);
            myGrid.ColumnDefinitions.Add(myColDef2);
            myRowDef  = new RowDefinition();
            myRowDef1 = new RowDefinition();
            myRowDef2 = new RowDefinition();
            myRowDef3 = new RowDefinition();
            myRowDef4 = new RowDefinition();
            myRowDef5 = new RowDefinition();
            myRowDef6 = new RowDefinition();
            myGrid.RowDefinitions.Add(myRowDef);
            myGrid.RowDefinitions.Add(myRowDef1);
            myGrid.RowDefinitions.Add(myRowDef2);
            myGrid.RowDefinitions.Add(myRowDef3);
            myGrid.RowDefinitions.Add(myRowDef4);
            myGrid.RowDefinitions.Add(myRowDef5);
            myGrid.RowDefinitions.Add(myRowDef6);
            myTextBlock                     = new TextBlock();
            myTextBlock.FontSize            = 20;
            myTextBlock.Text                = "WPF Shapes Gallery";
            myTextBlock.HorizontalAlignment = HorizontalAlignment.Left;
            myTextBlock.VerticalAlignment   = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock);
            Grid.SetRow(myTextBlock, 0);
            Grid.SetColumnSpan(myTextBlock, 2);


            // Add a Rectangle Element
            myRect        = new Mono.System.Windows.Shapes.Rectangle();
            myRect.Stroke = Brushes.Black;
            myRect.Fill   = Brushes.SkyBlue;
            myRect.HorizontalAlignment = HorizontalAlignment.Left;
            myRect.VerticalAlignment   = VerticalAlignment.Center;
            myRect.Height = 50;
            myRect.Width  = 50;
            myGrid.Children.Add(myRect);
            Grid.SetRow(myRect, 1);
            Grid.SetColumn(myRect, 0);
            TextBlock myTextBlock1 = new TextBlock();

            myTextBlock1.FontSize          = 14;
            myTextBlock1.Text              = "A Rectangle Element";
            myTextBlock1.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock1);
            Grid.SetRow(myTextBlock1, 1);
            Grid.SetColumn(myTextBlock1, 1);


            // Add an Ellipse Element
            myEllipse        = new Mono.System.Windows.Shapes.Ellipse();
            myEllipse.Stroke = Brushes.Black;
            myEllipse.Fill   = Brushes.DarkBlue;
            myEllipse.HorizontalAlignment = HorizontalAlignment.Left;
            myEllipse.VerticalAlignment   = VerticalAlignment.Center;
            myEllipse.Width  = 50;
            myEllipse.Height = 75;
            myGrid.Children.Add(myEllipse);
            Grid.SetRow(myEllipse, 2);
            Grid.SetColumn(myEllipse, 0);
            TextBlock myTextBlock2 = new TextBlock();

            myTextBlock2.FontSize          = 14;
            myTextBlock2.Text              = "An Ellipse Element";
            myTextBlock2.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock2);
            Grid.SetRow(myTextBlock2, 2);
            Grid.SetColumn(myTextBlock2, 1);


            // Add a Line Element
            myLine        = new Mono.System.Windows.Shapes.Line();
            myLine.Stroke = Brushes.LightSteelBlue;
            myLine.X1     = 1;
            myLine.X2     = 50;
            myLine.Y1     = 1;
            myLine.Y2     = 50;
            myLine.HorizontalAlignment = HorizontalAlignment.Left;
            myLine.VerticalAlignment   = VerticalAlignment.Center;
            myLine.StrokeThickness     = 2;
            myGrid.Children.Add(myLine);
            Grid.SetRow(myLine, 3);
            Grid.SetColumn(myLine, 0);
            TextBlock myTextBlock3 = new TextBlock();

            myTextBlock3.FontSize          = 14;
            myTextBlock3.Text              = "A Line Element";
            myTextBlock3.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock3);
            Grid.SetRow(myTextBlock3, 3);
            Grid.SetColumn(myTextBlock3, 1);


            //Add the Path Element
            myPath                     = new Mono.System.Windows.Shapes.Path();
            myPath.Stroke              = Brushes.Black;
            myPath.Fill                = Brushes.MediumSlateBlue;
            myPath.StrokeThickness     = 4;
            myPath.HorizontalAlignment = HorizontalAlignment.Left;
            myPath.VerticalAlignment   = VerticalAlignment.Center;
            EllipseGeometry myEllipseGeometry = new EllipseGeometry();

            myEllipseGeometry.Center  = new Point(50, 50);
            myEllipseGeometry.RadiusX = 25;
            myEllipseGeometry.RadiusY = 25;
            myPath.Data = myEllipseGeometry;
            myGrid.Children.Add(myPath);
            Grid.SetRow(myPath, 4);
            Grid.SetColumn(myPath, 0);
            TextBlock myTextBlock4 = new TextBlock();

            myTextBlock4.FontSize          = 14;
            myTextBlock4.Text              = "A Path Element";
            myTextBlock4.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock4);
            Grid.SetRow(myTextBlock4, 4);
            Grid.SetColumn(myTextBlock4, 1);


            //Add the Polygon Element
            myPolygon                     = new Mono.System.Windows.Shapes.Polygon();
            myPolygon.Stroke              = Brushes.Black;
            myPolygon.Fill                = Brushes.LightSeaGreen;
            myPolygon.StrokeThickness     = 2;
            myPolygon.HorizontalAlignment = HorizontalAlignment.Left;
            myPolygon.VerticalAlignment   = VerticalAlignment.Center;
            Point           Point1            = new Point(1, 50);
            Point           Point2            = new Point(10, 80);
            Point           Point3            = new Point(50, 50);
            PointCollection myPointCollection = new PointCollection();

            myPointCollection.Add(Point1);
            myPointCollection.Add(Point2);
            myPointCollection.Add(Point3);
            myPolygon.Points = myPointCollection;
            myGrid.Children.Add(myPolygon);
            Grid.SetRow(myPolygon, 5);
            Grid.SetColumn(myPolygon, 0);
            TextBlock myTextBlock5 = new TextBlock();

            myTextBlock5.Text              = "A Polygon Element";
            myTextBlock5.FontSize          = 14;
            myTextBlock5.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock5);
            Grid.SetRow(myTextBlock5, 5);
            Grid.SetColumn(myTextBlock5, 1);


            // Add the Polyline Element
            myPolyline                 = new Mono.System.Windows.Shapes.Polyline();
            myPolyline.Stroke          = Brushes.SlateGray;
            myPolyline.StrokeThickness = 2;
            myPolyline.FillRule        = FillRule.EvenOdd;
            Point           Point4             = new Point(1, 50);
            Point           Point5             = new Point(10, 80);
            Point           Point6             = new Point(20, 40);
            PointCollection myPointCollection2 = new PointCollection();

            myPointCollection2.Add(Point4);
            myPointCollection2.Add(Point5);
            myPointCollection2.Add(Point6);
            myPolyline.Points = myPointCollection2;
            myGrid.Children.Add(myPolyline);
            Grid.SetRow(myPolyline, 6);
            Grid.SetColumn(myPolyline, 0);
            TextBlock myTextBlock6 = new TextBlock();

            myTextBlock6.FontSize          = 14;
            myTextBlock6.Text              = "A Polyline Element";
            myTextBlock6.VerticalAlignment = VerticalAlignment.Center;
            myGrid.Children.Add(myTextBlock6);
            Grid.SetRow(myTextBlock6, 6);
            Grid.SetColumn(myTextBlock6, 1);

            // Add the Grid to the Window as Content and show the Window
            myBorder.Child      = myGrid;
            myWindow.Content    = myBorder;
            myWindow.Background = Brushes.LightSlateGray;
            myWindow.Title      = "Shapes Sample";
            myWindow.Show();
        }