首页 > 其他分享 >WPF的Popup自动显示隐藏

WPF的Popup自动显示隐藏

时间:2024-11-20 19:31:51浏览次数:1  
标签:Popup menuPopup 鼠标 void timer WPF 隐藏 sender

简单实现鼠标移过Popup自动显示和隐藏的功能;

在xaml.cs中实现,首先创建一个定时器,设置300ms的延时:

 1         DispatcherTimer timer;
 2 
 3         public Function1View()
 4         {
 5             InitializeComponent();
 6 
 7             timer = new DispatcherTimer();
 8             timer.Tick += timer_Tick;
 9             timer.Interval = TimeSpan.FromMilliseconds(300);
10         }

z定时器的触发函数中,隐藏Popup:

1         void timer_Tick(object sender, EventArgs e)
2         {
3             menuPopup.IsOpen = false;
4         }

Popup和目标控件的鼠标进入和离开函数:

 1         /// <summary>
 2         /// 鼠标移走
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>
 6         private void Border_MouseLeave(object sender, MouseEventArgs e)
 7         {
 8             timer.Start();
 9         }
10         /// <summary>
11         /// 鼠标移走
12         /// </summary>
13         /// <param name="sender"></param>
14         /// <param name="e"></param>
15         private void menuPopup_MouseLeave(object sender, MouseEventArgs e)
16         {
17             timer.Start();
18         }
19         /// <summary>
20         /// 鼠标进入
21         /// </summary>
22         /// <param name="sender"></param>
23         /// <param name="e"></param>
24         private void Border_MouseEnter(object sender, MouseEventArgs e)
25         {
26             menuPopup.IsOpen = true;
27             timer.Stop();
28         }
29         /// <summary>
30         /// 鼠标进入
31         /// </summary>
32         /// <param name="sender"></param>
33         /// <param name="e"></param>
34         private void menuPopup_MouseEnter(object sender, MouseEventArgs e)
35         {
36             menuPopup.IsOpen = true;
37             timer.Stop();
38         }

实现效果:

 

标签:Popup,menuPopup,鼠标,void,timer,WPF,隐藏,sender
From: https://www.cnblogs.com/cfsl/p/18559060

相关文章

  • winform,wpf利用Autoupdater.NET.Official实现自动更新,并且利用Setup project部署(母
    Winform部分新建winform/wpf,我这里创建的是winform,程序名UpdateDemo在NuGet安装必备库Autoupdater.NET.Official,我这里安装的版本是1.9.2在页面上写一个label在Form1的构造函数写入代码AutoUpdater.Start("http://172.30.3.158:80/AutoUpdater.xml");这里填写自己的IPpublic......
  • Bug是隐藏在暗处的小怪兽,让人防不胜防
    BUG就像隐藏在暗处的小怪兽,时不时跳出来捣乱,这个说法确实很形象生动。在计算机领域中,BUG是指程序中存在的错误或缺陷,会导致程序运行出现异常或错误的情况。有时候,即使经过了严格的测试和检查,一些BUG仍然会迅速地冒出来,给程序员们带来困扰。那么,究竟什么样的BUG才算得上是“隐藏......
  • WPF Prism (一):区域导航
    文章目录前言一、Prism简介二、Prism安装1.NuGet进行安装2.扩展安装三、区域导航(Navigation)修改App.xaml修改App后台代码项目结构进行注册导航使用导航ViewModelLocator视图模型定位器设置Region容器四、示例代码前言最近使用WPF开发准备学习一下Prism框架后面......
  • WPF简单的数据绑定示例
    publicpartialclassindex:INotifyPropertyChanged{publicindex(){InitializeComponent();DataContext=this;}privatestring_userName;publicstringUserName{......
  • 界面控件DevExpress WPF中文教程:网格视图数据布局的列和卡片字段
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • C#-WPF 常见类型转换方法(持续更新)
    目录一、普通类型转换1、Convert类2、Parse(转String)3、TryParse(转String)4、ToString(转String)5、int转double 6、自定义类型的显示/隐式转换二、byte[]转ImageSource方法一方法二一、普通类型转换1、Convert类提供了一种安全的方式来执行类型转换,可处理n......
  • WPF ListBox implement autoscroll via behavior extension and SelectedItem
    publicclassListBoxAutoScrollBehavior:Behavior<ListBox>{protectedoverridevoidOnAttached(){AssociatedObject.SelectionChanged+=AssociatedObject_SelectionChanged;base.OnAttached();}privatevoidAs......
  • Java 反射:解锁 Java 世界的 “隐藏技能”
    一、引言在Java开发的广袤天地中,存在着一种犹如魔法般的技术——Java反射。它就像是一把隐藏的钥匙,能够打开Java类与对象内部那些平时看似难以触及的“暗格”,让开发者在运行时去动态地获取类的信息、操作对象的属性以及调用对象的方法等。无论是构建灵活的框架、实现......
  • 将 WPF 嵌入到 MFC 中,无法响应键盘输入
    在将WPF窗口嵌入到MFC窗口中中提到,可以将WPF嵌入到MFC窗口中,但遗留了一个没有发现的问题,WPF界面,无法响应键盘的输入。示例源码已经在https://gitee.com/Jasongrass/DemoPark/tree/master/Code/Embed_WPF_to_MFC/MFCMerge......
  • 汽车触控屏的高颜值和高体验,背后隐藏了哪些HMI设计理论
    一、汽车触控屏在现代汽车中的重要地位是什么?在当今的汽车领域,触控屏已经成为了不可或缺的一部分。它不仅为汽车内饰增添了科技感和现代感,还极大地提升了用户的操作便利性和驾驶体验。首先,汽车触控屏作为信息交互的核心界面,承担着车辆各种功能的控制和信息展示的重任。从导......