Popup控件

2023-10-26

一、介绍

常用的属性

IsOpen: 布尔值,指示 Popup 控件是否显示。

比如说:IsOpen="{Binding ElementName=PCheckBox,Path=IsChecked}" 是通过绑定CheckBox的IsChecked属性来控制Popup的弹出。

StaysOpen: 布尔值,指示在 Popup 控件失去焦点的时候,是否关闭 Popup 控件的显示。
PopupAnimation:指示显示窗口时是否使用动画,只有在 AllowsTransparency 等于true时此属性才有用

Popup 窗口本身是一个不可见的元素,只有在窗口上放置了信息后才能显示
Popup的定位方式与一般控件的定位方法不一样, Popup 使用五个属性来设定位置信息:

PlacementTarget:表示Popup控件的放置的位置依赖的对象,这个通常使用绑定的方式来标明Popup控件停靠的目标,如果没有为属性为 NULL,则 Popup 定位相对于屏幕的左上角。

Placement:一个枚举值,指定 Popup 控件的定位方式。通过设置 PlacementTargetPlacementRectangle、Placement、HorizontalOffset 和 VerticalOffsetProperty 属性来定位弹出项
PlacementRectangle:设定一个矩形,在 Popup 控件显示时,位置将相对于此矩形来显示,此矩形的位置也相对于PlacementTarget 属性所设定的控件
HorizontalOffset:指定一个值,指示 Popup 的位置所需水平移动多少个象素

VerticalOffset:指定一个值,指示 Popup 的位置所需垂直移动多少个象素
 

二、实例

点击button,popup显示

        <StackPanel Oriention="Horizontal">
 <Button x:Name="gridBtn" ToolTip="网格"
                    Click="GridBtn_Click">
                <Image Source="网格.png"></Image>
            </Button>
            <Popup x:Name="popGrid" Width="220" Height="180"
                           StaysOpen="False" 
                           IsOpen="False" 
                           AllowsTransparency="True"
                           PopupAnimation="Slide"
                           PlacementTarget="{Binding ElementName= gridBtn}"
                           Placement="Bottom">
                <Canvas Background="{StaticResource MyBackground}">
                    <Grid>
                        <TextBlock Text="间距" Width="100" Foreground="White"  VerticalAlignment="Center" Margin="32,33,68,151"/>
                        <TextBlock Text="大小" Width="100"  Foreground="White"  VerticalAlignment="Center" Margin="32,70,68,115"/>
                        <TextBlock Text="颜色" Width="100" Foreground="White"  VerticalAlignment="Center" Margin="32,107,68,78"/>
                        <ComboBox Width="100" VerticalAlignment="Center"  Foreground="White"  SelectedIndex="0"
                  Margin="76,30,24,149">
                            
                    </Grid>
                </Canvas>
            </Popup>

        </StackPanel>
 private void GridBtn_Click(object sender, RoutedEventArgs e)
        {
            popGrid.IsOpen = true;
           
        }

注意:popup必须用canvas填充,直接用grid填充会达不到效果,大家可以测试下

参考:

https://blog.csdn.net/coolfeiweb/article/details/25218245

https://www.cnblogs.com/seekdream/p/5579221.html

https://blog.csdn.net/xiaodenanhai/article/details/9129247?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Popup控件 的相关文章

  • 指定 Xaml 中开始标记和结束标记之间的属性

    考虑以下 Xaml
  • 列表框未虚拟化

    我有一个未虚拟化的列表框 我显然错过了一些东西 但找不到它 它实际上是一个列表框内的一个列表框 外部列表框有一个 ItemTemplate 其中包含一个 Expander Expander 用于显示一组项目 Expander 的内容是显示项
  • 获取登录用户的 AppData\Local 文件夹

    我目前正在使用 Environment GetFolderPath Environment SpecialFolder LocalApplicationData 检索当前用户的AppData Local小路 该程序需要提升的权限 并且在标准
  • 列表框仅显示一项

    我有一个ListBox和一个带有字符串的类 每次用户单击应用程序中的添加按钮时 我都会创建该类的一个新实例并将其添加到绑定到的列表中ListBox 第一次单击 添加 按钮时 列表框显示第一项 但下次单击时不再显示两项 XAML 这是List
  • 如何为 WPF 工具包图表提供样式

    我在 WPF 应用程序中使用 WPF Toolkit Chart 和 PieChart 我想将饼图图片中的默认白色背景更改为透明 如何提供风格来实现这一目标 WPF 旨在允许您通过 XAML 设置控件样式 不是代码 还可以通过样式使饼图中的
  • wpf 按钮悬停渐变不起作用

    我在 wpf 中使用带有渐变背景的按钮 但鼠标悬停时背景不起作用 我的代码有什么问题吗
  • CanExecute 何时被调用?

    在演示中 我有一个按钮可以切换布尔字段isAsking 我创建了一个命令 该命令仅在以下情况下执行isAsking true 一旦我按下切换按钮 okButton IsEnable立即更改 这表明该命令发现了更改isAsking 我感到很困
  • wpf自定义控件:另一个矩形内的可拖动/可调整大小的矩形

    我正在研究一个带有两个矩形的控件 一个在另一个矩形内 我希望用户能够拖动内部矩形 调整其大小 如果可能的话 也可以在外部矩形的边界内旋转它 这些值应该是可绑定的 以便我可以在更新时将这些值存储在我的数据源中 是否已经有这样的控件或者有人有任
  • 良好的 WPF 或 silverlight windows 小工具示例

    有人有 WPF 或 silverlight windows 小工具的好例子吗 诺兰多02 您好 我在网上看到了一些侧边栏小工具演示和教程 我将在这里列出它们以供您审查 希望其中一些能引起您的注意 并为您的努力提供帮助 WPF http ww
  • 在 SVG 中旋转形状时保持旋转线性渐变不旋转

    SVG 或 WPF XAML 我对两者都持开放态度 并且需要 我不认为它们在实现上有任何不同 下面的示例是 SVG 中的 我试图找到一种在线性渐变上使用旋转的方法 在本例中为 270 但是当它填充的形状旋转时 保持线性渐变不变 就好像它填充
  • 如何在 Visual Studio 2010 中增强 XAML 设计器?

    当我使用 XAML 设计器时 进入设计器和退出设计器是如此困难和缓慢 当我这样做时 Visual Studio 卡了一段时间 有什么方法可以增强 XAML 设计器和编辑器吗 Ant 保存 XAML 文件时非常慢 这通常意味着您可能有复杂的
  • XAML:如何定义要在多个项目中使用的数据模板和样式

    我开始使用 WPF net 3 5 sp1 仅使用 VS 尚未混合 开发桌面应用程序 我现在的情况是 我在几个库中有一些通用的可重用组件 我可以在哪里定义样式和数据模板 以便它们可以在多个项目中重复使用 从而获得一致的外观和感觉 我看过 R
  • XamlReader.Load 在后台线程中。是否可以?

    WPF 应用程序具有从单独的文件加载用户控件的操作 使用XamlReader Load method StreamReader mysr new StreamReader pathToFile DependencyObject rootOb
  • 在wpf中移动鼠标

    我目前正在寻找一种在 wpf 中移动鼠标的方法 我发现的只是我无法可靠实现的非托管方法调用 有没有一种简单的方法可以将鼠标光标移动到某个地方 即 双击后 我肯定在这里遗漏了一些东西 添加对System Windows Forms dll的引
  • 如何在WPF中应用WS_EX_TRANSPARENT?

    我想制作一个启动画面 无法通过鼠标 UI 单击 选择 因此我如何申请 Win32 ExtendedWindowStyles WS EX TRANSPARENT 在 Windows 演示基础窗口上 在表格中我会这样做 https stacko
  • 关闭时发送到托盘

    单击关闭按钮时如何将最小化的窗口发送到托盘 另外 如何在应用程序启动时在托盘中显示图标 WinForm 一种方法是在窗口的 F ormClosing 事件中设置 FormClosingEventArgs 的 Cancel 属性 然后最小化到
  • 在数据网格中绑定枚举属性的最佳方法

    将枚举属性绑定到数据网格的最佳方法是什么 当前我正在使用公共属性并从那里返回枚举名称还有其他方法吗 枚举 public enum enStatus Draft 1 Published 2 Started 3 Completed 4 Mode
  • WPF 数据触发器和故事板

    当视图模型 演示模型繁忙时 我试图触发进度动画 我有一个 IsBusy 属性 并将 ViewModel 设置为 UserControl 的 DataContext 当 IsBusy 属性为 true 时 触发 progressAnimati
  • 如何在 WPF Visual Studio 设计器中显示占位符值,直到可以加载实际值

    我是一名经验丰富的 C 开发人员 但还是一名 WPF 新手 我认为是基本问题 我无法通过网络搜索找到答案 这是简化的用例 我想在 WPF TextBlock 中显示一个字符串 所以我在 XAML 控件的代码隐藏中编写了一些 C 代码 pub
  • 没有类型的 IEnumerable 属性

    我正在尝试创建一个类似于来自 MSDN 的官方 DataGrid ItemsSource 的属性 public IEnumerable ItemsSource get set 这提供了对任何派生类中任何类型的支持 有了这个 我可以设置类似的

随机推荐

  • vscode 初始设置、基本操作及html的基本了解

    关于html的基本学习 文章目录 关于html的基本学习 常用插件 1 新建文件夹或者直接将文件夹拖入 2 基本讲解 2 1常用快捷键和html基本讲解 2 2注释 3 基本标签使用 h p和div 3 1演示结果 4 img的使用 5 锚
  • C#图解教程 第二十三章 预处理指令

    预处理指令 什么是预处理指令 基本规则 define和 undef指令 条件编译 条件编译结构 诊断指令 行号指令 区域指令 pragma warning 指令 预处理指令 什么是预处理指令 源代码指定了程序的定义 预处理指令 prepro
  • 【华为OD机试】欢乐的周末【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 小华和小为是很要好的朋友 他们约定周末一起吃饭 通过手机交流 他们在地图上选择了多个聚餐地点 由于自然地形等原因 部分聚餐地点不可达 求小华和小为都能到达的聚餐地点有
  • monkey实战--测试步骤、常用参数、常规monkey命令

    简要步骤 adb devices 了解包名 adb shell monkey p 包名 v 运行次数 多个参数的组合形成不同的用例以求最大的覆盖 当崩溃或无响应时分析monkey日志 常规monkey命令 可直接在项目里使用 adb she
  • 用于文本去重(相似度计算)的Simhash算法学习及python实现(持续学习中)

    Simhash算法学习及python实现 1 Simhash算法是什么 2 Simhash算法思想 3 Simhash算法流程 3 1 分词 3 1 1 短文本的处理 3 1 2 长文本的处理 基于TF IDF的文本关键词抽取方法 3 1
  • 关键帧动画html例子,关键帧

    关键帧 keyframes 在CSS中 keyframes根据你定义的样式规则来更有效的控制动画队列中的每一个中间步骤 或者每一个路径点 用 keyframes来制定动画规则会比使用transition 过渡 来获得更细腻更全面的动画效果
  • 数字化时代-28:入住CSDN一周年

    入住时间 1年 总排名 lt 5000 周排名 1000 粉丝数 gt 1000 积分数 gt 10000 获得赞 gt 1000 访问量 gt 70万 文章数 gt 500 等级 7级
  • 电脑注册表怎么打开?

    电脑想要使用注册表恢复或者查看一些数据 却发现不知道如何打开 不必惊慌 本期解答 电脑注册表怎么打开 两个方法任选一个即可解决 方法一 通过运行打开方式 1 在键盘上使用组合快捷键win R打开 运行 2 在 打开 右侧框内输入 reged
  • ai人工智能的数据服务_建立AI系统的规则-来自数据科学家

    ai人工智能的数据服务 Over the decades start up companies and individuals taking on personal projects have adopted the habit of in
  • qt中int,string,qstring,uint32_t,quuid相互转换

    int和stirng int x string str x atoi str c str str to string x qstring和string相互转换 QString x string xx xx QString x toLocal
  • android recyclerview item间距,自定义RecyclerView.ItemDecoration,实现Item的等间距分割以及分割线效果...

    1 背景 RecyclerView 是谷歌 V7 包下新增的控件 用来替代 ListView 和 GridView 使用的一个控件 在使用的过程中 往往需要使用到 divider 的效果 item 之间的分割线 而 RecyclerView
  • springboot整合多数据源以及多数据源中的事务处理

    前言 本篇文章主要介绍的是springboot整合多数据源以及多数据源事务处理 多数据源就是在同一个项目中连接多个数据库 使用多个数据库可能是由于业务量扩大进行数据库拆分 也可能是根据项目实际情况需要连接多个数据库 比如我之前有个项目 需要
  • 数据预处理的几个方法:白化、去均值、归一化、PCA

    以上转载自 http ufldl stanford edu wiki index php E7 99 BD E5 8C 96 假定数据表示成矩阵为X 其中我们假定X是 N D 维矩阵 N是样本数据量 D为单张图片的数据向量长度 去均值 这是
  • 【Python-Anaconda】如何更改jupyter notebook的代码存储位置

    一 修改默认配置文件 1 在开始菜单找到anaconda prompt 点击进入 输入如下 jupyter notebook generate config 此时显示出默认配置文件的地址 2 根据显示出来的地址找到相应的配置文件jupyte
  • 使用Caffe进行手写数字识别执行流程解析

    之前在 http blog csdn net fengbingchun article details 50987185 中仿照Caffe中的examples实现对手写数字进行识别 这里详细介绍下其执行流程并精简了实现代码 使用Caffe对
  • 位运算与逻辑运算

    位运算是将数据先转化为二进制数补码形式 再逐位 bit 按规则计算 按位与 运算符 规则 全1则1 否则为0 按位或 运算符 规则 全0则0 否则为1 按位非 运算符 规则 遇1则0 遇0则1 按位异或 运算符 规则 相同为0 不同为1 注
  • vue中import引用css和scss的区别 The difference between importing css and scss

    安装scss相关文档 To install scss SCSS 安装 Installation 有时scss不好用不是安装的锅 是import姿势不对 Sometimes the scss bug is not about installa
  • LED 点阵实验~点亮一个点、数字、汉字、图

    LED 点阵简介 LED 点阵是由发光二极管排列组成的显示器件 如下所示为8 8LED 点阵 以 16 16LED 点阵为例 其内部结构图如下所示 16 16 点阵共由 256 个发光二极管组成 且每个发光二极管是放置在行线和列线的交叉点上
  • Flask 中的Jinja2模板引擎

    Flask 中的Jinja2模板引擎 在 Web 项目中 前端的显示效果是通过 HTML 语言来实现的 后端的视图函数将数据或模板文件返回给前端 前端接收到后端返回的结果后 需要通过模板引擎来渲染页面 控制显示的效果 在 Flask 框架中
  • Popup控件

    一 介绍 常用的属性 IsOpen 布尔值 指示 Popup 控件是否显示 比如说 IsOpen Binding ElementName PCheckBox Path IsChecked 是通过绑定CheckBox的IsChecked属性来