C# 如何将元素放置到Silverlight的位置?

C# 如何将元素放置到Silverlight的位置?,c#,silverlight,layout,C#,Silverlight,Layout,我想画一个矩形来定位我从startPoint得到的东西,但现在它把我的矩形放在PictureCavas的中间,当我想把它放在startPoint位置时 private void DragSelectComponent_SelectionEnd(DragSelectEventArgs e) { Output.Text = "Start: " + e.StartPoint.ToString() + " End: " + e.EndPoint.ToString() + "\n(" +

我想画一个矩形来定位我从startPoint得到的东西,但现在它把我的矩形放在PictureCavas的中间,当我想把它放在startPoint位置时

private void DragSelectComponent_SelectionEnd(DragSelectEventArgs e)
{
    Output.Text = "Start: " + e.StartPoint.ToString() + "     End: " + e.EndPoint.ToString() + "\n(" + e.EventType + ")\n";
    Rectangle rectangle = new Rectangle() { Width = e.EndPoint.X - e.StartPoint.X, Height = e.EndPoint.Y - e.StartPoint.Y, Fill = new SolidColorBrush(Colors.Purple) };
    PictureCanvas.Children.Add(rectangle);
}
您是否尝试过:

rectangle.SetValue(Canvas.LeftProperty, p.X);
rectangle.SetValue(Canvas.TopProperty, p.Y);
只需使用:-

 Rectangle rectangle = new Rectangle() { Width = e.EndPoint.X - e.StartPoint.X, Height = e.EndPoint.Y - e.StartPoint.Y, Fill = new SolidColorBrush(Colors.Purple) };
 Canvas.SetLeft(rectangle, e.StartPoint.X);
 Canvas.SetTop(rectangle, e.StartPoint.Y);
 PictureCanvas.Children.Add(rectangle);

它不起作用,由于某种原因,我的长方形仍然在画中画,你肯定“画报”实际上是画布吗?您确信事件ARG中的矩形没有描述画布中间的矩形吗?PICTURRANVAS是网格元素。它应该是Canvas元素吗?Canvas Left和Top属性只有当您将项目放置在画布上时才有意义。