2009-06-05 9 views
0

2つの矩形の間に線を描く方法をC#で見つける例が20分あり、何も見つかりません。 Silverlightで2Dシェイプを描画するパラダイムが理解できないのか、間違った場所を探しているのか分かりません。キャンバス上のUIElementの位置を特定する

私はそれらをドラッグすることができるように矩形を設定しています。そしてキャンバスに矩形をドラッグすると、2つの図形の間に線を描きたいと思います。

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

本当にありがとうございました! –

+0

あなたは大歓迎です:) –

関連する問題