0

2つの長方形の間に線を引く方法の例をC#で見つけようとして、20分を費やしましたが、何も見つかりません。Silverlightで2D形状を描画するパラダイムを理解していないのか、それとも間違った場所を見ているだけなのかはわかりません。

長方形をドラッグできるように設定しました。次に、キャンバス上で長方形をドラッグするときに、2つの形状の間に線を描画します。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形状を描く方法の初心者向けの概要を説明するチュートリアルをいただければ幸いです。

ありがとう!

4

1 に答える 1

8

これを試して

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

位置プロパティは添付プロパティです;)

于 2009-06-05T17:19:31.807 に答える