WPF中製作無邊框窗體

2021-09-07 20:18:40 字數 1711 閱讀 7002

原文:

wpf中製作無邊框窗體

眾所周知,在winform中,如果要製作乙個無邊框窗體,可以將窗體的formborderstyle屬性設定為none來完成。

如果要製作成異形窗體,則需要使用或者使用gdi+自定義繪製。

那麼,在wpf中,我們怎樣製作乙個無邊框窗體呢?

答案是將window的windowstyle屬性設定為none,即windowstyle="none" 。如果是非矩形的異形窗體,則需要將背景設為null,將允許透明設定為true,也就是:background=""  allowstransparency="true",可能有些人還希望這個視窗可以拖來拖去,那麼,就還需要設定mouseleftbuttondown事件,比如:mouseleftbuttondown="dragwindow",這裡dragwindow由window的dragmove()來完成。想關閉視窗?那就自己做乙個按鈕,然後使用window本身的close()方法吧。

下面是效果:

這裡右上角有個圓形的x按鈕,是用button,但將它的樣式設定成了圓角矩形製作的。具體**見下:

xaml**:

// window1.xaml

"xmlns:x=""

title="borderlesswindow" height="300" width="300"

windowstyle="none" background=""  allowstransparency="true"

mouseleftbuttondown="dragwindow"

>

test button

c#**:

// window1.xaml.cs

using system;

using system.collections.generic;

using system.text;

using system.windows;

using system.windows.controls;

using system.windows.data;

using system.windows.documents;

using system.windows.input;

using system.windows.media;

using system.windows.media.imaging;

using system.windows.shapes;

namespace borderlesswindow

public voiddragwindow(object sender, mousebuttoneventargs args)

public voidclosewindow(object sender, routedeventargs args)}}

如果是異形窗體呢,比如是個這樣的窗體形狀:

如何做?其實道理都一樣,只是畫法不同而已(想知道怎麼畫出來的?那就看看這裡吧:這就有待你舉一返三了,不再贅述。

WPF中製作無邊框窗體

原文 wpf中製作無邊框窗體 眾所周知,在winform中,如果要製作乙個無邊框窗體,可以將窗體的formborderstyle屬性設定為none來完成。如果要製作成異形窗體,則需要使用或者使用gdi 自定義繪製。那麼,在wpf中,我們怎樣製作乙個無邊框窗體呢?答案是將window的windowst...

WPF 無邊框窗體設定

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

C 中無邊框異型窗體的製作

本篇內容來自 對於c 更改窗體外觀感覺並不那麼輕鬆 更改窗體外觀涉及到使用gdi 我所知道的有兩種方法 有系統邊框的窗體 處理窗體的paint方法,在paint方法中 引數e.graphics屬性將返回乙個物件 用來作畫 但是這個畫布的區域是窗體的客戶區 所以無法修改到窗體的標題欄 邊框等位置的。要...