Private Point startPoint;
private void Window_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
startPoint = e.GetPosition(null);
}
private void Window_MouseMove(object sender, MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
Point relative = e.GetPosition(null);
Point AbsolutePos = new Point(relative.X + this.Left, relative.Y + this.Top);
this.Top = AbsolutePos.Y - startPoint.Y;
this.Left = AbsolutePos.X - startPoint.X;
}
}
Это работает для перетаскивания моего окна, но, как было сказано, если я переместлю мышь быстро, оно выйдет из окна и перестанет вызывать событие. Без упоминания перетаскивания не совсем гладко. Кто-нибудь знает, как сделать это правильно, красиво и плавно перетаскивая, не теряя при перетаскивании слишком быстро ??? Если возможно, опубликуйте простой пример, за исключением целого учебника, в котором начинающие, как я, потеряли в коде. Спасибо!