实施窗口拖放WPF

Ric*_*olo 0 .net c# wpf drag-and-drop window

我必须像这样使用MahApps.Metro从头开始创建一个新窗口。这会为您创建一个没有标准窗口按钮(“关闭”,“还原”或“最小化”)的无边界窗口。

我实现了这些按钮,效果很好。我看到的与其他窗口不同的是,该行为允许用户使用拖放来更改窗口的位置。

我一直在寻找,但我不知道该怎么做。

如何在非标准窗口中实现拖放行为?

som*_*lse 5

让您的窗口处理事件MouseLeftButtonDown

    private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        this.DragMove();
    }
Run Code Online (Sandbox Code Playgroud)

这适用于标准WPF应用程序,不确定Metro应用程序是否可以使用它。

如果愿意,可以使用另一个控件来处理此事件。例如,您可以使用模拟标题栏的图像控件来处理它。