我们新建一个WPF的Windows项目,对话框上的标题栏会是系统的,可以拖动,但有时我们不想要MS的想自己做一个,但是要怎么样才能实现拖动呢,下面给出具体的code.
1. public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg,
int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();
public void move_window(object sender, MouseButtonEventArgs e)
{
ReleaseCapture();
SendMessage(new WindowInteropHelper(this).Handle,
WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
你只需要把标题栏的MouseDown的事件关联为move_window便可以了。
2.还要一个更简单的方法就是在MouseLeftButtonDown中调用 DragMove();