title: Determine location of a UIElement on a Canvas
body: <p>I have spent 20 minutes trying to find an example in C# of how to draw a line between two rectangles, and I can't find anything.  I don't know if I just don't understand the paradigm of drawing 2D shapes in Silverlight, or if I'm just looking in the wrong place.  </p>
  
  <p>I have set up the rectangles so I can drag them around, and now I want to draw a line between the two shapes as I drag a rectangle across the canvas.  I want to be able to do something like this as I drag the second rectangle:</p>
  
  <pre><code>void host1_MouseLeftButtonMove(object sender, MouseEventArgs e)
  {
     if (isDown) 
     {
  
        this.host1TranslateTransform.X = e.GetPosition(canvas).X - x;
        this.host1TranslateTransform.Y = e.GetPosition(canvas).Y - y;
  
        Line l = new Line();
        l.X1 = rect1.X; // does not work
        l.X2 = e.GetPosition(canvas).X;
        l.Y1 = rect1.Y; // does not work
        l.Y2 = e.GetPosition(canvas).Y;
  
     }
  }
  </code></pre>
  
  <p>How do I get the coordinates of the first box?  I can't figure out how to get the coordinates of shapes relative to the canvas in my application.  I would appreciate any tutorials that give a beginner overview for how to draw simple 2D shapes.</p>
  
  <p>Thanks!</p>