WPF教程(九)窗體

2021-07-23 05:02:12 字數 1613 閱讀 3429

在建立wpf應用的時候,你第乙個看到的就是窗體類。它作為窗體的基礎,提供標準的邊框、工具條、最大化、最小化和關閉按鈕。wpf窗體是xaml檔案和後台**檔案的混合體。在vs(express)裡面建立乙個wpf應用,將會生成乙個預設窗體,顯示如下**:

xmlns=""

xmlns:x=""

title="window1" height="300" width="300">

x:class屬性指示了該xaml檔案使用哪個類,這裡預設的是window1,是vs自動生成的。在vs的專案樹里,你會發現它是xaml檔案的乙個子節點。預設如下:

using system;

using system.windows;

using system.windows.controls;

//…more using statements

}}

window1類是乙個區域性類,執行時聯合xaml檔案顯示乙個完整的窗體。實際上是呼叫initializecomponent()的結果。

回到xaml檔案,我們注意到,在窗體元素下還有很多有意思的屬性,如title。title定義了窗體的標題、其實高和寬。另外還有一些命名空間的定義,我們會在xaml章節提到。另外,vs在窗體裡面還建立了乙個網格控制項。網格是一種wpf容器。wpf容器可以是乙個panel或者control,但是窗體只能有乙個子控制項,而panel可以包含多個子控制項,所有通常使用panel。在後面我們將仔細研究各式各樣的容器,它們在wpf中非常重要。

重要的視窗屬性

wpf窗體類包含一堆有意思的屬性,用於設定應用視窗的外觀。下面是最有用的一些屬性列表:

icon——允許你定義視窗的圖示,位於視窗的左上角,視窗標題的左側。

resizemode——是否允許終端使用者改變視窗大小。預設的是canresize,也就是允許調整視窗大小,允許使用最大化/最小化按鈕或者拖拽邊框。canminimize允許最小化窗體,但是不允許最大化,也不允許拖大或者拉小。noresize限制最多,不再顯示最大化和最小化按鈕,也不能被拖大或拉小。

showintaskbar——預設的是true,如果你設定成false,窗體將不會出現在工作列中。這對於次要視窗或需要最小化到托盤的應用來說特別有用。

sizetocontent——設定是否允許視窗自適應它的內容。預設的是手動,不會自動調整適應。其他選項如寬、高分別對應於自動調整水平、垂直的尺寸。

topmost——預設的是false,如果設定成true,那麼你的視窗將置於其他視窗的上面,除非最小化。這個屬性只在特殊場景下才使用。

windowstartuplocation——控制視窗的初始化位置,預設的是手動,也就是根據視窗的top和left屬性。其他選項如centerowner意味著視窗裡面居中,centerscreen意味中螢幕居中。

windowstate——視窗的初始化狀態,可以是normal, maximized or minimized。預設的是normal,其他只有在需要時才使用。

還有很多很多屬性,請自行學習。

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中預設視窗框架的外觀,主要取決於icon title windowsstyle resizemode等屬性。icon 指定視窗的圖示 title 指定視窗的標題 windowstyle 指定視窗樣式,有4個取值 none,無邊框 當resizemode屬性為noresize時,僅剩...