2010-11-08 109 views
3

我正在處理自定義窗口以向我的應用程序添加更多樣式。WPF:如何移動最大化的自定義窗口?

我跟着一些教程,使基本窗口行爲:

  • 關閉
  • 最大化
  • 最小化
  • 移動
  • 調整大小

這些都是好的。

我想什麼是我相信Windows 7的功能性: 當一個窗口最大化時,我仍然可以將它拖到另一個屏幕,它將保持其最大化狀態。

你有什麼想法我怎麼能做到這一點?

PS:本教程我用:

非常感謝,

問候

回答

2

如果在標題欄中有Thumb,則可以訂閱DragDelta事件並等到WindowState == WindowState.Maximized && dragEventArgs.Y > 100恢復該窗口。

+0

對不起,一年遲到了,但這是一個好主意!正如Decyclone所說,我也試圖創建一個新窗口(繼承窗口類,作爲UserControl),但我只能爲該窗口創建一個新模板。 – 2012-05-01 14:16:05

1

你爲什麼要實現Windows已經爲你做的事情?

該功能是Windows 7特定的,即使您爲您的窗口創建了自定義模板,Windows也會照顧它。現在,我想你所要做的就是從拇指撥打電話DragMove(),通過該拇指啓用移動窗口。

+0

你好Decyclone,這就是我所做的,但它並沒有給你Windows 7最大化的行爲,也沒有給出一個窗口一半的屏幕寬度(當它拖動到屏幕的左側或右側)。 – 2012-02-29 14:49:07