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

親の形状の絶対位置を設定したい場合は、Canvasaの方が適しています。この場合、次のコードを使用して、親内の形状のオフセットを設定できます。

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

これがあなたの質問に答えることを願っています。

于 2012-11-23T05:49:07.553 に答える