天天看點

WPF 中的window 窗體

------ Window(窗體不能嵌套窗體)、UserControl(使用者控件,布局的時候像窗體那樣布局就可以了)、Page把窗體以網頁形式展現。而一個XAML頁面裡隻能有一個頂級元素。而頂級元素裡面隻能有一個子元素。是以要有布局控件。
  Window窗體屬性:
           

1、窗體的外觀(WPF中預設窗體架構的外觀,主要取決于Icon、Title、WindowStlye、 ResizeMode等屬性)

---- Icon :指定窗體的圖示;

---- Title : 指定窗體的标題;

---- WindowStyle 指定窗體的樣式,有4個取值:

(1)None :無邊框; (當ResizeMode屬性NoResize 時,僅剩下視窗核心)

(2)SingleBorderWindow,單邊框【預設】

(3)ThreeDBorderWindow,3D邊框

(4)ToolWindow, 工具箱視窗

---- ResizeMode是指定大小調節樣式 :有4個取值:

(1)NoResize, 不可調節,同時沒有最大最小按鈕;

(2)CanResize, 不可調節。但可以最小化;(此時最大按鈕不可用)

(3)CanResize, 可調節【預設】

(4)CanResizeWithGrip, 可根據網格調節 (視窗右下腳顯示可調節網格)

2、窗體的位置

---- WindowStartupLocation 指定窗體初始化位置,有3個取值:

(1)Manual,手工指定位置,表示可以通過設定其設定其Top、Left 屬性值來決定視窗位置;

(2)CenterScreen,螢幕中央

(3)CenterOwner, 父窗體中央

---- Topmost調節視窗的前後順序,屬性值為true時,視窗位于最前。Topmost值為true的視窗,位于Topmost值為false的視窗之前;Topmost值都為true的視窗,獲得焦點的視窗位于前

3、窗體的大小

---- Width、Height,分别表示視窗的寬度和高度,稱為“尺寸屬性”。

---- MaxWidth、MinWidth、MaxHeight、MinHeight,分别表示視窗最大寬度最小寬度、 最大高度、最小高度。可以通過得到和更改這些屬性值,來擷取和改變視窗的大小和長 寬範圍。

---- ActualWidth、ActualHeight,分别表示視窗的實際寬度和實際高度,稱為“實際尺寸 屬性”。(實際尺寸屬性是根據目前視窗大小、最小化時視窗大小和最大化時視窗大小來計算得到 的,其值是隻讀的,也就是說,不能通過改變ActualWidth、ActualHeight的值來更改窗 口大小。)

---- SizeToContent,表示視窗大小由内容決定,有4個取值: 

(1)Manual,手工【預設】

(2)Width,窗體寬度由内容決定;

(3)Height,窗體高度由内容決定;

(4)WidthAndHeight,窗體大小由内容決定;

(如果内容尺寸超過了視窗的最大或最小範圍,還是以最大/最小範 圍為主。如果手工指定 了視窗的Width、Height 屬性,那麼SizeToContent将被忽略。)

4、窗體的可見性和狀态

---- Visibility,視窗可見性,有4個枚舉值:

(1)Visible, 可見;

(2)Hidden, 隐藏;

(3)Collapsed, 折疊。

  (雖然視窗類認為Collapsed與Hidden一樣,但二者差別在于,Hidden僅僅将元素設為不可 見,但是元素在畫面上依然占有空間;而Collapsed,在不可視的基礎上,能将元素在畫 面上的占位符清除,元素徹底不影響畫面。)

— Show、Hide,顯示窗體和隐藏視窗的兩個方法。

(如果視窗的ShowInTaskbar 屬性值為true,Hide 不但隐藏窗體本身,同時隐藏其工作列上的圖示)

---- WindowState, 視窗狀态屬性,有3個枚舉值:

(1)Normal,正常;

(2)Maximized, 最大化;

(3)Minimized, 最小化;

5、窗體的聲明周期

---- Initialized:當視窗的FrameworkElement底層初始化時觸發,即InitializeComponent方 法調用時觸發。  

---- LocationChanged:視窗被移動時觸發。  

---- Activated:視窗被激活時觸發。  

---- Deactivated:視窗處于非激活時(即其他視窗處于激活時)觸發。   

---- Loaded:顯示視窗之前觸發。  

---- ContentRendered:當内容顯示的時候觸發。   

---- Closing:嘗試關閉視窗時觸發,可以将參數CancelEventArgs的Cancel的屬性設定為 true,取消關閉操作。   

---- Closed:在視窗關閉後觸發該事件,無法取消。

---- Unloaded:當關閉視窗并且從可視化樹移除後觸發。

繼續閱讀