視窗的外觀
wpf中預設視窗框架的外觀,主要取決於icon、title、windowsstyle、resizemode等屬性。
icon 指定視窗的圖示;
title 指定視窗的標題;
windowstyle 指定視窗樣式,有4個取值:
none,無邊框;(當resizemode屬性為noresize時,僅剩下視窗核心。)
singleborderwindow,單邊框【預設】;
threedborderwindow,3d邊框;
toolborderwindow,工具箱視窗
resizemode 是指定大小調節樣式,有4個取值:
noresize,不可調節,同時沒有最大最小按鈕;
canminimize,不可調節。但可以最小化;(此時最大化按鈕不可用)
canresize,可調節【預設】;
canresizewithgrid,可根據網格調節;(視窗右下腳顯示可調節網格)
視窗的位置
windowstartlocation 指定視窗初始位置,有3個取值:
manual,手工指定位置,表示可以通過設定其top、left屬性值來決定視窗的初始位置;
centerscreen,螢幕**;
centerowner,父窗體**;
topmost 調節視窗的前後順序,屬性值為true時,視窗位於最前。
topmost值為true的視窗,位於topmost值為false的視窗之前(如下圖記事本與示例視窗);
topmost值都為true的視窗,獲得焦點的視窗位於前(如下圖qq與示例視窗)。
視窗的大小
width、height,分別表示視窗的寬度和高度,稱為「尺寸屬性」。
maxwidth、minwidth、maxheight、minheight,分別表示視窗最大寬度、最小寬度、最大高度、最小高度。可以通過得到和更改這些屬性值,來獲取和改變視窗的大小和長寬範圍。
actualwidth、actualheight,分別表示視窗的實際寬度和實際高度,稱為「實際尺寸屬性」。
實際尺寸屬性是根據當前視窗大小、最小化時視窗大小和最大化時視窗大小來計算得到的,其值是唯讀的,也就是說,不能通過改變actualwidth、actualheight的值來更改視窗大小。
sizetocontent,表示視窗大小由內容決定,有4個取值:
manual,手工【預設】;
width,窗體寬度由內容決定;
height,窗體高度由內容決定;
widthandheight,窗體大小由內容決定;
如果內容尺寸超過了視窗的最大或最小範圍,還是以最大/最小範圍為主。如果手工指定了視窗的width、height 屬性,那麼sizetocontent將被忽略。
視窗的生命週期
關於各事件的描述:
initialized:當視窗的frameworkelement底層初始化時觸發,即initializecomponent方法呼叫時觸發。
locationchanged:視窗被移動時觸發。
activated:視窗被啟用時觸發。
deactivated:視窗處於非啟用時(即其他視窗處於啟用時)觸發。
loaded:顯示視窗之前觸發。
contentrendered:當內容顯示的時候觸發。
closing:嘗試關閉視窗時觸發,可以將引數canceleventargs的cancel的屬性設定為true,取消關閉操作。
closed:在視窗關閉後觸發該事件,無法取消。
unloaded:當關閉視窗並且從視覺化樹移除後觸發。
WPF 窗體置頂
1 設定窗體topmost屬性 private dispatchertimer timer public window1 void window1 loaded object sender,routedeventargs e private void timer1 tick object sende...
WPF 窗體居中
private void centerwindowonscreen windowstartuplocation centerscreen 設定windowstartuplocation屬性設定為centerscreen會開啟乙個視窗定位在螢幕,其中包含滑鼠游標的中心。設定windowstartupl...
WPF教程(九)窗體
在建立wpf應用的時候,你第乙個看到的就是窗體類。它作為窗體的基礎,提供標準的邊框 工具條 最大化 最小化和關閉按鈕。wpf窗體是xaml檔案和後台 檔案的混合體。在vs express 裡面建立乙個wpf應用,將會生成乙個預設窗體,顯示如下 xmlns xmlns x title window1 ...