WPF:如何移动最大化的自定义窗口?

WPF:如何移动最大化的自定义窗口?,wpf,move,maximize-window,Wpf,Move,Maximize Window,我正在开发一个自定义窗口,以便为我的应用程序添加更多样式 我遵循了一些教程来启用基本窗口行为: 结束 最大化 最小化 移动的 调整大小 这些都没问题 我想知道我认为Windows 7的功能是什么: 当一个窗口被最大化时,我仍然可以将它拖到另一个屏幕,在那里它将保持其最大化状态 你知道我怎么做吗 附:我使用的教程: 创建自定义窗口: 调整大小: 其他调整大小: 非常感谢 关于如果您的标题栏中有一个拇指,您可以订阅DragDelta事件,并等待WindowsState==WindowsSta

我正在开发一个自定义窗口,以便为我的应用程序添加更多样式

我遵循了一些教程来启用基本窗口行为:

  • 结束
  • 最大化
  • 最小化
  • 移动的
  • 调整大小
这些都没问题

我想知道我认为Windows 7的功能是什么: 当一个窗口被最大化时,我仍然可以将它拖到另一个屏幕,在那里它将保持其最大化状态

你知道我怎么做吗

附:我使用的教程:

  • 创建自定义窗口:
  • 调整大小:
  • 其他调整大小:
非常感谢


关于

如果您的标题栏中有一个
拇指
,您可以订阅
DragDelta
事件,并等待
WindowsState==WindowsState.Maximized&&dragEventArgs.Y>100
来恢复窗口

为什么要实现Windows已经为您提供的功能


该功能是Windows 7特有的,即使您为窗口创建自定义模板,Windows也会处理它。现在,我想你所要做的就是用拇指调用
DragMove()
,通过它你可以移动窗口。

Hello DecCyclone,这就是我所做的,但它没有给你Windows 7的最大化行为,也没有给你一个窗口一半屏幕宽度的行为(当拖动到屏幕的左侧或右侧时)。对不起,晚了一年,但这是个好主意!我还试图创建一个新窗口(作为用户控件继承Window类),但正如Decyclone所说,我只能为窗口创建一个新模板。