- WPF 教程
- WPF - 首页
- WPF - 概述
- WPF - 环境设置
- WPF - Hello World
- WPF - XAML 概述
- WPF - 元素树
- WPF - 依赖属性
- WPF - 路由事件
- WPF - 控件
- WPF - 布局
- WPF - 布局嵌套
- WPF - 输入
- WPF - 命令行
- WPF - 数据绑定
- WPF - 资源
- WPF - 模板
- WPF - 样式
- WPF - 触发器
- WPF - 调试
- WPF - 自定义控件
- WPF - 异常处理
- WPF - 本地化
- WPF - 交互
- WPF - 2D 图形
- WPF - 3D 图形
- WPF - 多媒体
- WPF 有用资源
- WPF - 快速指南
- WPF - 有用资源
- WPF - 讨论
WPF - 窗口
窗口是 XAML 应用程序的根窗口,它提供最小化/最大化选项、标题栏、边框和关闭按钮。它还提供创建、配置、显示和管理窗口和对话框生命周期能力。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 区域时,将显示工具提示。
我们建议您执行上述示例代码,并尝试此类的其他一些属性和事件。