- XAML 教程
- XAML - 首页
- XAML - 概述
- XAML - 环境设置
- 在 macOS 上编写 XAML 应用程序
- XAML 与 C# 代码的比较
- XAML 与 VB.NET 的比较
- XAML - 构建块
- XAML - 控件
- XAML - 布局
- XAML - 事件处理
- XAML - 数据绑定
- XAML - 标记扩展
- XAML - 依赖属性
- XAML - 资源
- XAML - 模板
- XAML - 样式
- XAML - 触发器
- XAML - 调试
- XAML - 自定义控件
- XAML 有用资源
- XAML - 快速指南
- XAML - 有用资源
- XAML - 讨论
XAML - 弹出窗口
弹出窗口在应用程序窗口的范围内,显示在现有内容之上的内容。它是在其他内容上临时显示的内容。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 依赖属性的标识符。 |
事件
| 序号 | 事件及说明 |
|---|---|
| 1 | Closed 当 IsOpen 属性设置为 false 时触发。 |
| 2 | Opened 当 IsOpen 属性设置为 true 时触发。 |
示例
以下示例演示如何使用 Popup 控件。以下是创建和初始化 Popup 控件和 CheckBox 的 XAML 代码。当用户选中 CheckBox 时,它将显示一个 Popup。
<Window x:Class = "XAMLPopup.MainWindow"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
Title = "MainWindow" Height = "350" Width = "604">
<Grid>
<StackPanel>
<CheckBox Name = "PCheckBox" Margin = "10,10,484,500" Content = "Checked Me" Height = "18"/>
<Popup IsOpen = "{Binding ElementName = PCheckBox,Path = IsChecked}"
PlacementTarget = "{Binding ElementName = PCheckBox}"
AllowsTransparency = "True" PopupAnimation = "Slide"
HorizontalOffset = "150" VerticalOffset = "100">
<Canvas Width = "100" Height = "100" Background = "LightGray" Margin = "5">
<Canvas.RenderTransform>
<RotateTransform x:Name = "theTransform" />
</Canvas.RenderTransform>
<TextBlock TextWrapping = "Wrap" Foreground = "Blue" Text = "Hi, this is Popup"/>
</Canvas>
</Popup>
</StackPanel>
</Grid>
</Window>
编译并执行上述代码后,将产生以下输出:
我们建议您执行上述示例代码,并尝试其他一些属性和事件。