Форма прямоугольника не будет обновлять левую или верхнюю позиции холста - PullRequest
0 голосов
/ 10 декабря 2011

Это не изменит позицию, позиция фиксируется во время выполнения, даже если я изменяю значение 50 ниже:

System.Windows.Shapes.Rectangle myRectangle = new System.Windows.Shapes.Rectangle();

mainGrid.Children.Add(myRectangle);

Canvas.SetLeft(myRectangle, 50);
Canvas.SetTop(myRectangle, 50);

myRectangle.Height = 100;
myRectangle.Width = 100;

myRectangle.Stroke = System.Windows.Media.Brushes.LightSteelBlue;

1 Ответ

2 голосов
/ 13 декабря 2011

вот 2 решения вашей проблемы

1) с холстом

var myRectangle = new System.Windows.Shapes.Rectangle();

var mainCanvas = new Canvas();
mainGrid.Children.Add(mainCanvas);

mainCanvas.Children.Add(myRectangle);
Canvas.SetLeft(myRectangle, 50);
Canvas.SetTop(myRectangle, 50);

myRectangle.Height = 100;
myRectangle.Width = 100;
myRectangle.Stroke = System.Windows.Media.Brushes.LightSteelBlue;

2) только с вашей сеткой

var myRectangle = new System.Windows.Shapes.Rectangle();

mainGrid.Children.Add(myRectangle);
myRectangle.Margin = new Thickness(50, 50, 0, 0);
myRectangle.HorizontalAlignment = HorizontalAlignment.Left;
myRectangle.VerticalAlignment = VerticalAlignment.Top;

myRectangle.Height = 100;
myRectangle.Width = 100;
myRectangle.Stroke = System.Windows.Media.Brushes.LightSteelBlue;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...