- 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 - 弹出窗口
Popup 是一种控件,用于在应用程序窗口范围内,现有内容的顶部显示内容。它是在其他内容上进行的临时显示。Popup 类的层次继承如下:
Popup 类常用属性
序号 | 属性及说明 |
---|---|
1 | Child 获取或设置要在弹出窗口中托管的内容。 |
2 | ChildProperty 获取 Child 依赖属性的标识符。 |
3 | ChildTransitions 获取或设置应用于 Popup 子内容的 Transition 样式元素的集合。 |
4 | ChildTransitionsProperty 标识 ChildTransitions 依赖属性。 |
5 | HorizontalOffset 获取或设置应用程序窗口左侧与弹出窗口左侧之间的距离。 |
6 | HorizontalOffsetProperty 获取 HorizontalOffset 依赖属性的标识符。 |
7 | IsLightDismissEnabled 获取或设置一个值,该值确定如何关闭 Popup。 |
8 | IsLightDismissEnabledProperty 标识 IsLightDismissEnabled 依赖属性。 |
9 | IsOpen 获取或设置弹出窗口当前是否显示在屏幕上。 |
10 | IsOpenProperty 获取 IsOpen 依赖属性的标识符。 |
11 | VerticalOffset 获取或设置应用程序窗口顶部与弹出窗口顶部之间的距离。 |
12 | VerticalOffsetProperty 获取 VerticalOffset 依赖属性的标识符。 |
Popup 类常用事件
序号 | 事件及说明 |
---|---|
1 | Closed 当 IsOpen 属性设置为 false 时触发。 |
2 | Opened 当 IsOpen 属性设置为 true 时触发。 |
示例
让我们创建一个名为 WPFPopupControl 的新 WPF 项目。
当您查看工具箱时,会发现没有弹出窗口控件。但是您可以从 XAML 中向应用程序添加弹出窗口控件。
以下示例演示了如何使用 Popup 控件。这是一个 XAML 代码示例,其中创建并初始化了一个 Popup 控件和一个 CheckBox。当用户选中 CheckBox 时,它会显示一个 Popup。
<Window x:Class = "WPFPopupControl.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:WPFPopupControl" mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604"> <Grid> <CheckBox Name = "PCheckBox" Margin = "198,94,208,194" Content = "Checked Me" /> <Popup IsOpen = "{Binding ElementName = PCheckBox,Path = IsChecked}" PlacementTarget = "{Binding ElementName = PCheckBox}" AllowsTransparency = "True" PopupAnimation = "Slide"> <Canvas Width = "125" Height = "100" Background = "LightGray"> <Canvas.RenderTransform> <RotateTransform x:Name = "theTransform" /> </Canvas.RenderTransform> <TextBlock TextWrapping = "Wrap" Foreground = "Blue" Text = "Hi, this is Popup" /> </Canvas> </Popup> </Grid> </Window>
编译并执行上述代码后,将产生以下输出。选中复选框时,将出现一个弹出窗口;取消选中复选框时,弹出窗口将消失。
我们建议您执行上述示例代码并尝试 Popup 类的其他属性和事件。