wpf 客户端【JDAgent桌面助手】开发详解(四) popup控件的win8.0的bug
目录区域:
wpf 客户端【JDAgent桌面助手】详解(一)主窗口 圆形菜单。。。
wpf 客户端【JDAgent桌面助手】开发详解(二)桌面宠物制作详解
wpf 客户端【JDAgent桌面助手】开发详解(三) 瀑布流效果实现与UI虚拟化优化大数据显示
在做桌面程序或者web程序时候为了漂亮、操作灵活一般现在的程序都尽量减少弹出窗口式的交互方式,而且也不是很美观,除非是功能内容毕竟多的情况下回做弹窗。
小的功能点,一般都做成popup 小的弹出层样子更漂亮,占用屏幕区域小,操作也方便些。
在web开发中有很多好的pop 插件如:http://vadikom.com/demos/poshytip/
在很多年前做winform开发时候,想做这种漂亮的弹窗。比较麻烦。但是在wpf里面 内置了 Popup控件
可以定制:
1.弹出窗口的样式(可以是方形、圆角矩形、甚至是不规则图形).popup 控件的content是什么形状就展示出什么形状。
2.可以定制弹出层关闭的方式,通过设置Popup.StaysOpen属性被设置为True,当只有后台通过代码将Popup.IsOpen属性设置为False时候才会隐藏。如果设置Popup.StaysOpen属性被设置为False,当用户在其他地方单击鼠标时,Popup控件就会消失。
3.可以定制弹出窗口的位置,通过设置Popup控件的
PlacementTarget="{Binding ElementName=btnDown}"
Placement="Top"
这两个属性,来设置popup控件相对于某个控件弹出的位置,上面的代码设置的是弹出位置是在 id=btnDown 的按钮的Top上面弹出。
Placement 的选项总共有12种,足够大家使用。
Absolute = 0,
Relative = 1,
Bottom = 2,
Center = 3,
Right = 4,
AbsolutePoint = 5,
RelativePoint = 6,
Mouse = 7,
MousePoint = 8,
Left = 9,
Top = 10,
Custom = 11,
如果还是定位不准可以,使用
HorizontalOffset="0"
VerticalOffset="-4" 对位置进行细调。
总的来说微软的开发人员设计的这个popup控件使用起来确实很方便,灵活。项目中应用的也很多。如下图:

效果会比弹窗选择的效果好很多。。。
但是真的就这么简单么?
当开发完程序后,我们在多操作系统测试时候发现:win8.0 系统中 popup 弹出的位置老是不对。
如下图:
WinXp /Vista/Win7/Win8.1 下面windows 右键菜单弹出的位置(红色圈为 鼠标指针位置)

Win8.0 下面windows 右键菜单弹出的位置(红色圈为 鼠标指针位置)

Popup 控件也是这个情况。需要在代码里面判断windows的版本。如果是win8.0 popup 的HorizontalOffset、VerticalOffset值需要调整。
wpf 客户端【JDAgent桌面助手】开发详解(四) popup控件的win8.0的bug的更多相关文章
- ANDROID L——Material Design详解(UI控件)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...
- 详解DevExpress.LookUpEdit控件实现自动搜索定位功能(转)
转载自csdn博客 爱拼才会赢 的博客 地址是详解DevExpress.LookUpEdit控件实现自动搜索定位功能(转)
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)--宋宝华
http://blog.csdn.net/21cnbao/article/details/45322629
- wpf 客户端【JDAgent桌面助手】开发详解(三) 瀑布流效果实现与UI虚拟化优化大数据显示
目录区域: 业余开发的wpf 客户端终于完工了..晒晒截图 wpf 客户端[JDAgent桌面助手]开发详解-开篇 wpf 客户端[JDAgent桌面助手]详解(一)主窗口 圆形菜单... wpf 客 ...
- wpf 客户端【JDAgent桌面助手】业余开发的终于完工了。。晒晒截图
目录区域: 业余开发的wpf 客户端终于完工了..晒晒截图 wpf 客户端[JDAgent桌面助手]开发详解-开篇 wpf 客户端[JDAgent桌面助手]详解(一)主窗口 圆形菜单... wpf 客 ...
- wpf 客户端【JDAgent桌面助手】开发详解-开篇
上周二 发表了一个帖子:wpf 客户端[JDAgent桌面助手]业余开发的终于完工了..晒晒截图... 没有想到不到一个周时间已经浏览量过8千,估计过几天就过万了..很开心啊.. 评论中好多网友问我要 ...
- wpf 客户端【JDAgent桌面助手】开发详解(一)主窗口 圆形菜单
目录区域: wpf 客户端[JDAgent桌面助手]业余开发的终于完工了..晒晒截图wpf 客户端[JDAgent桌面助手]开发详解-开篇 内容区域: 这里开始主窗口 圆形菜单制作的过程,首先请大家看 ...
- wpf 客户端【JDAgent桌面助手】开发详解(二)桌面宠物制作详解
目录区域: wpf 客户端[JDAgent桌面助手]业余开发的终于完工了..晒晒截 wpf 客户端[JDAgent桌面助手]开发详解-开篇 wpf 客户端[JDAgent桌面助手]开发详解(一)主窗口 ...
随机推荐
- Kik CEO Ted Livingston发博称要成为西方的微信?
加拿大手机聊天应用Kik是一款手机通信录的社交软件,和Snapchat.微信相似,上个月刚拿到3830万美元融资.近日,Kik CEO Ted Livingston在medium博客上发表了the r ...
- BestCoder Round #60 1001
Problem Description You are given a sequence of NNN integers. You should choose some numbers(at leas ...
- 12 day 1
#include <cstdio> int i,j,m,n,t; long long f[6000][6000]; inline int min(int a,int b){ return ...
- python遍历数组的两种方法
第一种,最常用的,通过for in遍历数组 1 2 3 4 5 6 7 8 colours = ["red","green","blue"] ...
- 【原创】Js:日期处理(日期格式必须【yyyy-mm-dd】才能转成long的毫秒!其他的不是【年-月-日】的格式,结果会是【NaN】)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 1.1 让CPU占用率曲线听你指挥[cpu manager]
[本文链接] http://www.cnblogs.com/hellogiser/p/cpu-manager.html [题目] 写一个程序,让用户来决定Windows任务管理器(Task Manag ...
- mysql 表空间
开启了Innodb的innodb_file_per_table这个参数之后[innodb_file_per_table = 1],也就是启用InnoDB的独立表空间模式,便于管理.此时,在新建的inn ...
- [Android Pro] proguard.cfg 配置文件
转载自:http://my.oschina.net/zhangzhihao/blog/72393 # ------------------------------------- # android 原 ...
- 使用Memory Analyzer tool(MAT)分析内存泄漏(一)
转载自:http://www.blogjava.net/rosen/archive/2010/05/21/321575.html 前言 在平时工作过程中,有时会遇到OutOfMemoryError,我 ...
- 案例(JQuery的ajax无刷新评论)
CommentsTest.html代码: <head> <meta http-equiv="Content-Type" content="text/ht ...