博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【WPF】使用Popup控件做浮窗/提示框
阅读量:6873 次
发布时间:2019-06-26

本文共 649 字,大约阅读时间需要 2 分钟。

原文:

需求:当鼠标移入某个区域时,弹出一个浮窗,以便用户进行下一步操作。

效果如下图:

当鼠标移入左上角的【多选显示】框内,出现下面的浮窗(悬浮在原UI之上)。当在浮窗外点击鼠标左键时,隐藏该浮窗。
这里写图片描述

由于该浮窗的内容较多,最好单独做成一个UserControl。

使用UserControl的方法参考这篇文章:

前台布局:

说明:这里用的是Border边框控件,由于该控件只能有一个Content,所以为了同时包含Popup及其在边框中显示的文字TextBlock,采用了一个Grid来包裹。


后台对于Popup控件的操作只有鼠标移入事件:

private void border_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e){    pop1.IsOpen = false;    pop1.IsOpen = true;}

说明:为何要先IsOpen = false再IsOpen = false,下边有解释。

摘录一下大神的原话:

“在其他地方点击之后,pop1并不是自动关闭了,而是跑到其他控件后面去了

所以你再让它打开,它其实已经是打开的,而且已经在后面,所以看不到了.
你先让它关闭,再打开,就又跑到前面来了.”

 

你可能感兴趣的文章
oracle checkpoint
查看>>
KVM虚拟化开源高可用方案(六)ISCSI ON DRBD搭建及常见故障处理
查看>>
android device related
查看>>
iOS 6 Beta3即将发布,iPhone面板谍照已经曝光
查看>>
hadoop 源码包编译
查看>>
微信小程序-多级联动
查看>>
Ubuntu配置MYSQL远程连接
查看>>
tcp端口扫描(python多线程)
查看>>
剑指offer-二叉树的镜像
查看>>
java实现二叉树
查看>>
算法学习(一)
查看>>
进度条
查看>>
5.9 j(java学习笔记)强软弱虚引用及WeakHashMap、IdentityHashMap、EnumMap
查看>>
移动Web开发经验
查看>>
苹果Itools
查看>>
Windows 2003/2008更改远程桌面端口脚本
查看>>
Mozilla开发新功能提升网络隐私保护
查看>>
运营是一门艺术,互联网营销
查看>>
Visual Studio 2010 SP1将支持HTML5和CSS3
查看>>
[资源记录 ]mobile layer cdn
查看>>