Это код, который я должен перетащить в мое окно.Это вроде работает!Вид ...
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;
}
}
Проблема в том, что если я слишком быстро переместлю мышь, она выйдет из окна и перестанет вызывать событие movemouse.Во-вторых, окно перетаскивания не совсем гладкое, что заставляет меня поверить, что я делаю это неправильно.В-третьих, я попробовал это на Window_MouseLeftButtonDown, который вызывал событие только один раз за клик мыши.Я новичок, и я, и многие другие новички, как и я, оценили бы простой пример без Dropping и Data Transfer.заранее спасибо пользователям Stack OverFlow, готовым помочь.