WPF Windows 設定無邊框還能拖動,縮放

2021-10-01 23:21:04 字數 806 閱讀 9774

標準視窗由兩個重疊矩形組成。

外部矩形是非工作區, 通常稱為chrome。 它由作業系統的視窗管理器進行繪製和管理。

視窗的非工作區是通過 wpf 實現的,其中包括大多數視窗所共有的視窗部分,包括以下各項:

內部矩形是工作區。 它包含應用程式的內容,例如選單欄、工具欄和控制項, 由應用程式進行繪製和管理。

可以通過將window.windowstyle屬性設定為none或, 使用windowchrome類自定義視窗邊框。

windowstyle.none

自定義 wpf 應用程式視窗外觀的一種方法是將window.windowstyle屬性設定為。 none 這將從視窗中刪除非客戶端框架並僅離開工作區, 您可以將自定義樣式應用到該區域。 但是, 在刪除非客戶端框架時, 還會丟失系統功能和所提供的行為, 例如標題按鈕和視窗大小調整。 另乙個***是視窗在最大化時將覆蓋 windows 工作列。 通過windowstyle.none設定, 你可以建立完全自定義的應用程式, 但也需要在應用程式中實現自定義邏輯來模擬標準視窗行為。

windowchrome

若要在保留其標準功能的同時自定義視窗, 可以windowchrome使用類。 windowchrome類將視窗框架的功能與視覺物件隔開, 並使你能夠控制應用程式視窗的工作區和非工作區之間的邊界。 通過windowchrome使用類, 您可以通過擴充套件工作區以覆蓋非工作區來將 wpf 內容置於視窗框架中。 同時, 它將保留系統行為:比如調整邊框和標題區的大小。

參考:

WPF 無邊框窗體設定

網路上流傳的無邊框wpf窗體可以說是有點簡陋了.如最大化後無法繼續拖拽移動,最大化後遮住工作列等.我從外網上查詢寫了乙個較為完整的無邊框窗體設定.視窗屬性xaml 視窗陰影xaml 視窗系統邊框屬性xaml 後台 private bool mrestorefordragmove public mai...

winform設定無邊框窗體移動,效果更好看

c 開發winform視窗實現無邊框移動 效果展示 教程 建立窗體,選中窗體屬性設定borderstyle none,這樣窗體就是無邊框了 按f7,將核心移動 複製到窗體 後台 將以下 複製 region 無邊框窗體移動 滑鼠按下 private bool ismouse false 滑鼠是否按下 ...

QT Qwidget設定視窗無邊框,並且可拖動

首先設定無邊框 在這裡一定要注意的是函式名稱是setwindowflags而不是setwindowflag,一字之差可能讓你頭疼半天為什麼邊框還在,沒效果 設定無邊框 this setwindowflags qt framelesswindowhint 然後是拖動功能 件設定 include pro...