我花了20分钟试图在C#中找到一个如何在两个矩形之间画一条线的例子,我找不到任何东西。我不知道我是不是不理解在Silverlight中绘制2D形状的范例,或者我只是在寻找错误的地方。
我已经设置了矩形,所以我可以拖动它们,现在我想在画布上拖动一个矩形时在两个形状之间画一条线。当我拖动第二个矩形时,我希望能够做到这样的事情:
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形状的初学者概述的教程。
谢谢!
答案 0 :(得分:8)
试试这个
Canvas.GetTop(element);
Canvas.GetLeft(element);
位置属性是附加属性;)