1

我正在尝试将形状动态添加到网格中,我正在以这种方式创建和设置它:

Rectangle theRect = new Rectangle();
currentRect = theRect;

theRect.VerticalAlignment = Windows.UI.Xaml.VerticalAlignment.Top;
theRect.HorizontalAlignment = Windows.UI.Xaml.HorizontalAlignment.Left;

theRect.Margin = new Thickness(oldPos.X,oldPos.Y,0,0);

theRect.StrokeThickness = brushWidht;
theRect.Stroke = new SolidColorBrush(brushColor);

theRect.Height = newPoint.Y - oldPos.Y;
theRect.Width = newPoint.X - oldPos.X;

theBoard.Children.Add(theRect);

但它粘在“theBoard”的角落,这是我放置它的网格。有人可以帮我吗?谢谢。

4

1 回答 1

2

由于您已经决定Grid为父母设置一个,我想您正试图将您的形状放在不同的“单元格”中,即不同的行和列中。您可以使用以下代码执行此操作:

Grid.SetRow(theRect, 1);
Grid.SetColumn(theRect, 1);

如果要在父级中设置形状的绝对位置,那么 aCanvas将是更好的选择。在这种情况下,您可以使用以下代码在父对象内设置形状的偏移量:

Canvas.SetLeft(theRect, oldPos.X);
Canvas.SetTop(theRect, oldPos.Y);

我希望这回答了你的问题。

于 2012-11-23T05:49:07.553 回答