2009-06-05 88 views
0

我花了20分鐘試圖在C#中找到如何在兩個矩形之間畫線的示例,但我找不到任何東西。我不知道我是否不明白在Silverlight中繪製2D圖形的範例,或者我只是在錯誤的位置查找。確定UIElement在畫布上的位置

我已經設置了矩形,所以我可以拖動它們,現在我想在兩個形狀之間繪製一條線,因爲我在畫布上拖動了一個矩形。我希望能夠像這樣做,因爲我拖動第二個矩形:

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; 

    } 
} 

如何獲取第一個框的座標?我無法弄清楚如何在我的應用程序中獲取相對於畫布的形狀座標。我會很感激任何教程,讓初學者概述如何繪製簡單的2D形狀。

謝謝!

回答

8

試試這個

Canvas.GetTop(element); 
Canvas.GetLeft(element); 

位置屬性附加屬性;)

+0

非常感謝! – 2009-06-05 17:23:35