天天看点

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:当关闭窗口并且从可视化树移除后触发。

继续阅读