WPF - 弹出窗口



Popup 是一种控件,用于在应用程序窗口范围内,现有内容的顶部显示内容。它是在其他内容上进行的临时显示。Popup 类的层次继承如下:

Hierarchical of 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>

编译并执行上述代码后,将产生以下输出。选中复选框时,将出现一个弹出窗口;取消选中复选框时,弹出窗口将消失。

Output of Popup

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

wpf_controls.htm
广告