WPF - 窗口



窗口是 XAML 应用程序的根窗口,它提供最小化/最大化选项、标题栏、边框和关闭按钮。它还提供创建、配置、显示和管理窗口和对话框生命周期能力。Window 类的层次继承如下:

Hierarchical of Window

Window 类常用属性

序号 属性及描述
1

AllowsTransparency

获取或设置一个值,该值指示窗口的客户区是否支持透明。

2

DialogResult

获取或设置对话框结果值,该值是 ShowDialog 方法返回的值。

3

Icon

获取或设置窗口的图标。

4

IsActive

获取一个值,该值指示窗口是否处于活动状态。

5

Left

获取或设置窗口左边缘相对于桌面的位置。

6

OwnedWindows

获取此窗口拥有的窗口集合。

7

Owner

获取或设置拥有此窗口的窗口。

8

ResizeMode

获取或设置调整大小模式。

9

RestoreBounds

获取窗口在最小化或最大化之前的大小和位置。

10

ShowActivated

获取或设置一个值,该值指示窗口在首次显示时是否处于活动状态。

11

ShowInTaskbar

获取或设置一个值,该值指示窗口是否具有任务栏按钮。

12

SizeToContent

获取或设置一个值,该值指示窗口是否会自动调整自身大小以适应其内容的大小。

13

TaskbarItemInfo

获取或设置窗口的 Windows 7 任务栏缩略图。

14

Title

获取或设置窗口的标题。

15

Top

获取或设置窗口顶边缘相对于桌面的位置。

16

Topmost

获取或设置一个值,该值指示窗口是否显示在最顶层的 z 顺序中。

17

WindowStartupLocation

获取或设置窗口首次显示时的位置。

18

WindowState

获取或设置一个值,该值指示窗口是恢复、最小化还是最大化。

19

WindowStyle

获取或设置窗口的边框样式。

Window 类常用事件

序号 事件及描述
1

Activated

当窗口成为前台窗口时发生。

2

Closed

当窗口即将关闭时发生。

3

Closing

在调用 Close 后立即发生,可以处理以取消窗口关闭。

4

ContentRendered

窗口内容呈现后发生。

5

Deactivated

当窗口成为后台窗口时发生。

6

LocationChanged

当窗口的位置发生变化时发生。

7

SourceInitialized

引发此事件以支持与 Win32 的互操作。请参阅 HwndSource。

8

StateChanged

当窗口的 WindowState 属性发生变化时发生。

Window 类常用方法

序号 方法及描述
1

Activate

尝试将窗口置于前台并将其激活。

2

Close

手动关闭窗口。

3

DragMove

允许通过鼠标左键按下窗口客户区可见区域来拖动窗口。

4

GetWindow

返回对承载依赖项对象所在内容树的 Window 对象的引用。

5

Hide

使窗口不可见。

6

Show

打开一个窗口并返回,而不等待新打开的窗口关闭。

7

ShowDialog

打开一个窗口,并且只有在新打开的窗口关闭时才返回。

示例

  • 当您创建一个新的 WPF 项目时,默认情况下,Window 控件是存在的。让我们看看下面的例子。

  • 以下 XAML 代码以 <Window> 标记开始,以 </Window> 标记结束。代码设置了窗口的一些属性,并创建了一些其他控件,例如文本块、按钮等。

<Window x:Class = "WPFToolTipControl.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006" 
   xmlns:local = "clr-namespace:WPFToolTipControl" 
   mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604"> 
	
   <Grid> 
      <TextBlock x:Name = "textBlock" HorizontalAlignment = "Left"  
         Margin = "101,75,0,0" TextWrapping = "Wrap"  
         Text = "User Name" VerticalAlignment = "Top" /> 
			
      <TextBlock x:Name = "textBlock1" HorizontalAlignment = "Left"
         Margin = "101,125,0,0" TextWrapping = "Wrap"  
         Text = "Password" VerticalAlignment = "Top" /> 
			
      <TextBox x:Name = "textBox" HorizontalAlignment = "Left"  
         Height = "24" Margin = "199,75,0,0" TextWrapping = "Wrap"  
         VerticalAlignment = "Top" Width = "219"  
         ToolTipService.ToolTip  =  "Enter User Name" /> 
			
      <PasswordBox x:Name = "passwordBox" HorizontalAlignment = "Left"  
         Margin = "199,125,0,0" VerticalAlignment = "Top" Width = "219"  
         Height = "24" ToolTipService.ToolTip  =  "Enter Password" /> 
			
      <Button x:Name = "button" Content = "Log in" HorizontalAlignment = "Left"  
         Margin = "199,189,0,0" VerticalAlignment = "Top" Width = "75"  
         ToolTipService.ToolTip = "Log in" /> 
   </Grid> 
	
</Window> 

编译并执行上述代码后,将显示以下输出。当鼠标进入 Button 或 Textboxes 区域时,将显示工具提示。

Output of Window

我们建议您执行上述示例代码,并尝试此类的其他一些属性和事件。

wpf_controls.htm
广告