WPF - Popup 弹出窗口控件

Popup 是一个在应用程序窗口范围内的现有内容之上显示内容的控件。 它是对其他内容的临时显示。 Popup类的层次继承如下 −

弹出窗口的层次结构

Popup 类常用属性

序号 属性和描述
1

Child

获取或设置要在弹出窗口中托管的内容。

2

ChildProperty

获取 Child 依赖属性的标识符。

3

ChildTransitions

获取或设置应用于 Popup 子内容的 Transition 样式元素的集合。

4

ChildTransitionsProperty

标识 ChildTransitions 依赖属性。

5

HorizontalOffset

获取或设置应用程序窗口左侧与弹出窗口左侧之间的距离。

6

HorizontalOffsetProperty

获取 HorizontalOffset 依赖项属性的标识符。

7

IsLightDismissEnabled

获取或设置一个值,该值确定如何关闭弹出窗口。

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 控件。 下面是创建并初始化 Popup 控件和 CheckBox 的 XAML 代码。 当用户选中复选框时,它会显示一个弹出窗口。

<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 类的其他属性和事件。

❮ wpf_controls.html