private void drawCanvas_MouseMove(object sender, MouseEventArgs e)
        {
            //Check which shape to draw, and then draw
            if (DrawObject == Btn1Text.ToLower().ToString() && e.LeftButton == MouseButtonState.Pressed)
            {
                p2 = e.GetPosition(drawCanvas);

                double minX = Math.Min(p2.X, p1.X);
                double minY = Math.Min(p2.Y, p1.Y);
                double maxX = Math.Max(p2.X, p1.X);
                double maxY = Math.Max(p2.Y, p1.Y);

                double height = Math.Abs(maxY - minY);
                double width  = Math.Abs(maxX - minX);

                ellipse.Height = height;
                ellipse.Width  = width;

                double left   = p1.X - (width / 2);
                double top    = p1.Y - (height / 2);
                double right  = -1 * (p1.X - (width / 2));
                double bottom = -1 * (p1.Y - (height / 2));

                ellipse.Margin = new Thickness(left, top, right, bottom);
            }
            else if (DrawObject == Btn2Text.ToLower().ToString() && e.LeftButton == MouseButtonState.Pressed)
            {
                p2 = e.GetPosition(drawCanvas);

                double minX = Math.Min(p2.X, p1.X);
                double minY = Math.Min(p2.Y, p1.Y);
                double maxX = Math.Max(p2.X, p1.X);
                double maxY = Math.Max(p2.Y, p1.Y);

                double height = Math.Abs(maxY - minY);
                double width  = Math.Abs(maxX - minX);

                rectangle.Height = height;
                rectangle.Width  = width;

                double left   = p1.X - (width / 2);
                double top    = p1.Y - (height / 2);
                double right  = -1 * (p1.X - (width / 2));
                double bottom = -1 * (p1.Y - (height / 2));

                rectangle.Margin = new Thickness(left, top, right, bottom);
            }
            else if (DrawObject == Btn3Text.ToLower().ToString() && e.LeftButton == MouseButtonState.Pressed)
            {
                line.X1 = p1.X;
                line.Y1 = p1.Y;
                line.X2 = e.GetPosition(drawCanvas).X;
                line.Y2 = e.GetPosition(drawCanvas).Y;
            }
            else if (DrawObject == Btn4Text.ToLower().ToString() && e.LeftButton == MouseButtonState.Pressed)
            {
                p2 = e.GetPosition(drawCanvas);
                polyline.Points.Add(p2);
            }
        }
 private void Btn4_Click(object sender, RoutedEventArgs e)
 {
     DrawObject     = Btn4Text.ToLower().ToString();
     btn1.IsEnabled = true;
     btn2.IsEnabled = true;
     btn3.IsEnabled = true;
     btn4.IsEnabled = false;
 }
        private void drawCanvas_MouseDown(object sender, MouseButtonEventArgs e)
        {
            p1 = e.GetPosition(drawCanvas);

            //Checks which shape to draw, creates and sets the shapes values, and adds the to the canvas
            if (DrawObject == Btn1Text.ToLower().ToString() && e.LeftButton == MouseButtonState.Pressed)
            {
                ellipse = new Ellipse
                {
                    Fill            = FillColor,
                    Stroke          = StrokeColor,
                    StrokeThickness = 2
                };
                drawCanvas.Children.Add(ellipse);
            }
            else if (DrawObject == Btn2Text.ToLower().ToString() && e.LeftButton == MouseButtonState.Pressed)
            {
                rectangle = new Rectangle()
                {
                    Fill            = FillColor,
                    Stroke          = StrokeColor,
                    StrokeThickness = 2
                };
                drawCanvas.Children.Add(rectangle);
            }
            else if (DrawObject == Btn3Text.ToLower().ToString() && e.LeftButton == MouseButtonState.Pressed)
            {
                line = new Line()
                {
                    Stroke          = StrokeColor,
                    StrokeThickness = 2
                };
                drawCanvas.Children.Add(line);
            }
            else if (DrawObject == Btn4Text.ToLower().ToString() && e.LeftButton == MouseButtonState.Pressed)
            {
                polyline = new Polyline()
                {
                    Stroke          = StrokeColor,
                    StrokeThickness = 2
                };
                drawCanvas.Children.Add(polyline);
            }
        }