【问题标题】:Determine location of a UIElement on a Canvas确定 UIElement 在 Canvas 上的位置
【发布时间】:2009-06-05 17:05:11
【问题描述】:

我花了 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 形状,我将不胜感激。

谢谢!

【问题讨论】:

    标签: c# silverlight canvas uielement


    【解决方案1】:

    试试这个

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

    位置属性是附加属性;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 1970-01-01
      • 2012-08-19
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      相关资源
      最近更新 更多