Я создал (используя c #) сетку с рамкой, а родительский макет - это другая сетка.Когда я пытаюсь динамически изменить размер, это не дает ожидаемого поведения.Я сохраняю начальную позицию (слева вверху) границы (с сеткой) фиксированной и перетаскиваю только правую нижнюю точку для изменения размера.В случае перемещения мыши ширина и высота изменяются в зависимости от текущей позиции.1) Но всегда ли меняется начальная точка (слева-сверху) при изменении ширины и высоты?2) Когда размер границы изменяется, дочерний элемент (сетка) не меняет свои размеры соответственно?Я не могу найти метод растяжения.Но если граница перемещается, то дочерняя сетка перемещается вместе с ней.
Point offsetParent;
.....
private void MouseMoveEvent(object sender, MouseEventArgs e)
{
if (bIsMouseDown)
{
ResizeControl(e);
offsetParent = e.GetPosition(parentGrid); //reset offset to current
}
}
private void ResizeControl(MouseEventArgs e)
{
// get current point
Point CurPosParent = e.GetPosition(parentGrid);
// current & new position difference
Point diff = new Point(CurPosParent.X - offsetParent.X, CurPosParent.Y - offsetParent.Y);
// keep start point (left-top position) of border fixed
// adjust only width & height of border
border1.Width += diff.X; //changes start point (left-top position) ????
border1.Height += diff.Y;
}