wpf 悬浮窗口的实现
又到了写点东西的时候,因为有了新的收获,所以用随笔来记录下自己的成长。话不多说,正入主题。
最近又遇到一个新的需求,有一组控件,需要悬浮显示在面板的边缘上,刚开始的时候,是不显示的,点击后显示,然后再次点击,隐藏。就这么一个功能,折腾了一天。
实现的方法很多,本次使用了DevExpress里面的DockLayoutManager控件。从DevExpress的官网上下载了一个Demo,然后学习了下。DevExpress的控件使用,搜索资料好像不多,当然也可能是我的搜索方法不对。
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dxdo="http://schemas.devexpress.com/winfx/2008/xaml/docking" xmlns:dxcore="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxmvvm="http://schemas.devexpress.com/winfx/2008/xaml/mvvm" x:Class="CreateAutoHiddenPanels.Window1" Title="Window1" Height="300" Width="640" ><Grid><dxdo:DockLayoutManager Margin="12" x:Name="dockManager1" dxcore:ThemeManager.ThemeName="Office2010Blue" AutoHideExpandMode="MouseDown" ><dxdo:DockLayoutManager.AutoHideGroups><dxdo:AutoHideGroup DockType="Bottom"><dxdo:LayoutPanel x:Name="paneFindResults" Caption="Find Results" ShowCloseButton="False" ShowControlBox="False" ShowMaximizeButton="False" ShowPinButton="False" CaptionVerticalAlignment="Stretch" CaptionHorizontalAlignment="Stretch" TextWrapping="WrapWithOverflow"AllowDockToDocumentGroup="False" CaptionWidth="150" ItemWidth="150"AllowMaximize="False"AllowFloat="False"CaptionImage="Image/right.png"CaptionImageLocation="AfterText"><Grid><TextBlock/></Grid></dxdo:LayoutPanel></dxdo:AutoHideGroup></dxdo:DockLayoutManager.AutoHideGroups></dxdo:DockLayoutManager></Grid> </Window>
运行效果:
点击FindResults后,出现FindResults窗口。
这里需要的注意点:
1、 点击最下面的FindResults,可以显示或者隐藏FindResults窗口,为了实现该功能
需要把dockManager1的AutoHideExpandMode设置成"MouseDown"。
2、显示出来的FindResults窗口的标题,点击后,并不会隐藏,我的需求是不显示。
所以需要paneFindResults的ShowCaptionImage 设置成False。
3、为了防止双击显示出来的FindResults窗口会最大化,需要屏蔽到下面的两个属性。
AllowMaximize="False" AllowFloat="False"
转载于:https://www.cnblogs.com/lonelyxmas/p/10534141.html
wpf 悬浮窗口的实现相关推荐
- 创建 WPF 不规则窗口
创建 WPF 不规则窗口 ================================================= 本文为khler原作,转载必须确保本文完整并完整保留原作者信息及本文原始链 ...
- Android 悬浮窗口
Android 悬浮窗口 一.创建悬浮窗口步骤 1.实现一个ViewGroup类,作为悬浮窗口的界面类,以便在里面重写onInterceptTouchEvent和onTouchEvent方法, ...
- Android中悬浮窗口的实现原理和示例代码
用了我一个周末的时间,个中愤懑就不说了,就这个问题,我翻遍全球网络没有一篇像样的资料,现在将实现原理简单叙述如下:调用WindowManager,并设置WindowManager.LayoutPara ...
- 细数Android 7.0“牛轧糖”的五大缺陷:不支持悬浮窗口
导语:当前,Android 7.0 Nougat(牛轧糖)已经开始被缓慢部署至全球各地的Android设备中.按照惯例,仍然是Nexus设备首先获得谷歌最新的移动操作系统,其他的智能手机则还需要等待一 ...
- 使用WindowManager添加View——悬浮窗口的基本原理
Android系统中的"窗口"类型虽然很多,但只有两大类是经常使用的:一是由系统进程管理的,称之为"系统窗口":第二个就是由应用程序产生的,用于显示UI界面的& ...
- android 悬浮窗口和主界面同时显示,Android 悬浮窗口(及解决6.0以上无法显示问题)...
思路实现 通过WindowManager添加一个View,创建一个系统顶级的窗口,实现悬浮窗口的效果. 本篇思路,来源于郭霖大神的悬浮窗口教程. 大致介绍WindowManager 类 创建的对象: ...
- Android WindowManager和WindowManager.LayoutParams的使用以及实现悬浮窗口的方法
1.理清概念 我们使用过Dialog和PopupWindow,还有Toast,它们都显示在Activity之上.那么我们首先需要理解的是android中是如何去绘制这些UI的呢?这里我只讲我所理解的, ...
- [Jinkey 原创]震惊!iOS 系统居然自带悬浮窗口调试工具
原文链接 : 震惊!iOS 系统居然自带悬浮窗口调试工具 -- Jinkey 原创 原文作者 : Jinkey 1 背景 英文原文: http://ryanipete.com/blog/ios/swi ...
- android 添加随意拖动的桌面悬浮窗口,android 添加随意拖动的桌面悬浮窗口
用过新版本android 360手机助手都人都对 360中只在桌面显示一个小小悬浮窗口羡慕不已吧? 其实实现这种功能,主要有两步: 1.判断当前显示的是为桌面.这个内容我在前面的帖子里面已经有过介绍, ...
最新文章
- 人工智能“花”落何处
- 怎么在Linux中telnet服务器,怎么利用Telnet连接Linux服务器
- kafka概述与下一代消息队列
- Javascript--Boolean运算符
- 2021春季每日一题 【week2 未完结】
- java直接调用复制文件,java中文件复制的4种方式,java文件的复制
- 抛出java类型异常的方法_Java Streams:抛出异常的优雅方法
- python面试题总结(5)--数据类型(字典)
- 一张图轻松搞懂javascript event对象的clientX,offsetX,screenX,pageX区别
- 2,上传电影,udp,异常处理,socketserver
- mybatis延迟加载(lazy)配置生效的陷阱
- 使用SharedPreference保存用户数据的步骤
- DbVisualizer的Driver连接Oracle Thin选项不可选
- java集合方法之TreeSet.floor()和TreeSet.ceiling()
- python网格交易法详解_详解低风险投资策略—详解网格交易法
- 霍兰德人格分析雷达图的两个坑
- window 错误代码
- POI获取文本单元格的数字变成科学计数法的处理方法
- SAP的标准委外采购中都有哪些坑
- 网络线缆连接器和线槽