2009-11-12 66 views
1

我想畫矩形來定位我從的startPoint得到的,但現在我的長方形地方PictureCanvas的中間,當我想要把它的startPoint位置如何將元素放置到Silverlight中?

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); 
} 

回答

1

只需使用: -

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); 
+0

它沒有工作,出於某種原因,我的矩形仍然在PictureCanvas – newbie 2009-11-13 14:33:45

+1

中間您確定「PictureCanvas」實際上是一個Canvas?你確定事件args中的矩形__不能描述Canvas中間的一個矩形嗎? – AnthonyWJones 2009-11-13 14:47:10

+0

PictureCanvas是網格元素。它應該是Canvas元素嗎? – newbie 2009-11-13 17:39:27

1

你試過:

rectangle.SetValue(Canvas.LeftProperty, p.X); 
rectangle.SetValue(Canvas.TopProperty, p.Y); 
+0

我試過了,但它似乎沒有工作。 – newbie 2009-11-12 13:05:58

相關問題