title: Drawing Ellipse on Canvas with "negative" width/height using mouse events
body: <p>On MouseDownEvent I set upper left corner of Ellipse I'm trying to draw.</p>
  
  <pre><code>public MyCircle(Point location)
      {
          ellipseObject = new Ellipse
          {
              Stroke = Brushes.Black,
              StrokeThickness = 2,
              Margin = new Thickness(location.X, location.Y, 0, 0)
          };
      }
  </code></pre>
  
  <p>Then on MouseMoveEvent I update Width and Height properties and it works fine as long as I don't move mouse above or/and to the left of my Ellipse upper left corner, in that case I'm getting exception that these properties can't be negative (which of course makes perfect sense).</p>
  
  <pre><code>public void Draw(Point location)
      {
          if (ellipseObject != null)
          {                
              ellipseObject.Width = location.X - ellipseObject.Margin.Left;
              ellipseObject.Height = location.Y - ellipseObject.Margin.Top;               
          }
      }
  </code></pre>
  
  <p>The problem doesn't exist with drawing lines:</p>
  
  <pre><code>public void Draw(Point location)
      {
          lineObject.X2 = location.X;
          lineObject.Y2 = location.Y;
      }
  </code></pre>
  
  <p>I know it's trivial, but I'm completely stuck on this. How should I handle drawing Ellipses?</p>