我有两种类型的窗口:Main和Child。当我移动主窗口时,所有子窗口也必须移动。我所有的窗户都有风格None
,所以我使用DragMove
. 对于移动孩子,我LocationChange
使用Main。如果我开始快速移动主窗口,孩子会延迟一些移动。我的窗口是一个接一个的,所以当快速移动主窗口时,会出现一些间隙。我用这个问题
一次移动两个WPF窗口?
我怎样才能减少这种差距?
一些代码:
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
StickyWindow.ParentWndStartMove(this);
this.DragMove();
}
我在这里移动所有的孩子
public static void ParentWndMove(Window parentWindow)
{
for (int i = 0; i < windowsToMove.Length; i++)
{
if (windowsToMove[i])
{
windows[i].Top += -(parentWindowPosition.Y - parentWindow.Top);
windows[i].Left += -(parentWindowPosition.X - parentWindow.Left);
}
}
parentWindowPosition.X = parentWindow.Left;
parentWindowPosition.Y = parentWindow.Top;
}