UWP笔记-消息弹窗自动淡出
为了让用户有个更好的UI交互,可以增加自动淡出的消息弹窗,例如:网易云音乐UWP,切换播放模式时,出现的类似消息提示。
右键项目,添加用户控件
UserControlDemo.xaml:
<UserControl<UserControl.Resources><Storyboard x:Name="story_Board" ><DoubleAnimationUsingKeyFrames Storyboard.TargetName="main_Grid"Storyboard.TargetProperty="Opacity"BeginTime="0:0:0"><SplineDoubleKeyFrame KeyTime="00:00:00.00" Value="1"/><SplineDoubleKeyFrame KeyTime="00:00:00.400" Value="0.0"/></DoubleAnimationUsingKeyFrames></Storyboard></UserControl.Resources><Grid x:Name="main_Grid"><Border CornerRadius="10"Background="Transparent"HorizontalAlignment="Center" VerticalAlignment="Center"Padding="15,5"> <TextBlock x:Name="showContent_textBlock" Margin="10,0,0,2" Foreground="WhiteSmoke" FontSize="30"/> </Border></Grid>
</UserControl>
UserControlDemo.xaml.cs:
public sealed partial class UserControlDemo : UserControl{private Popup popup;private string str;private TimeSpan showTime_tmr;public UserControlDemo(){this.InitializeComponent();popup = new Popup();popup.Child = this;MeasurePopupSize();this.Loaded += NotifyPopup_Loaded;this.Unloaded += NotifyPopup_Unloaded;}public VolumeContentDialog(string content, TimeSpan showTime) : this(){this.str = content;this.showTime_tmr = showTime;}public VolumeContentDialog(string content) : this(content, TimeSpan.FromSeconds(2)){}public void Show(){this.popup.IsOpen = true;}public void Hide(){this.popup.IsOpen = false;}private void MeasurePopupSize(){this.Width = ApplicationView.GetForCurrentView().VisibleBounds.Width;double marginTop = 0;if (ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))marginTop = StatusBar.GetForCurrentView().OccludedRect.Height;this.Height = ApplicationView.GetForCurrentView().VisibleBounds.Height;this.Margin = new Thickness(0, marginTop, 0, 0);}private void NotifyPopup_Loaded(object sender, RoutedEventArgs e){this.showContent_textBlock.Text = str;this.story_Board.BeginTime = this.showTime_tmr;this.story_Board.Begin();this.story_Board.Completed += storyBoard_Completed;ApplicationView.GetForCurrentView().VisibleBoundsChanged += NotifyPopup_VisibleBoundsChanged;}private void NotifyPopup_VisibleBoundsChanged(ApplicationView sender, object args){MeasurePopupSize();}private void storyBoard_Completed(object sender, object e){this.popup.IsOpen = false;}private void NotifyPopup_Unloaded(object sender, RoutedEventArgs e){ApplicationView.GetForCurrentView().VisibleBoundsChanged -= NotifyPopup_VisibleBoundsChanged;}}
然后直接在MianPage.cs中实例化引用就可以了。
MainPage.xaml.cs:
UserControlDemo demo = new UserControlDemo("Demo");
demo.Show();
UWP笔记-消息弹窗自动淡出相关推荐
- Qt 实现桌面右下角消息弹窗提示
简单的做了一个类似QQ消息提示的消息弹窗提示的小模块,便于在系统后台程序提示检测的信息,使用Qt开发,设计整体思路是做一个无框架的widget,自己实现标题栏和内容栏,添加了向上移出,自动消隐退出效果 ...
- 【WPF】对话框/消息弹窗
非模式对话框 需求:弹窗是非模式对话框,即可以多个弹窗弹出,且弹窗后面的窗体可以被操作,不会被锁定. 自定义的窗体Window实现以下步骤: 在C#代码中弹出窗体时,使用 window.Show() ...
- linux磁盘符变化autofs,Linux基础教程学习笔记之Autofs自动挂载
Linux基础教程学习笔记之Autofs自动挂载 Autofs自动挂载: yum -y install autofs vim /etc/auto.master 在文件中添加下面行 /home/gue ...
- 【ActiveMQ】消息生产者自动注入报错:Could not autowire. No beans of 'JmsMessagingTemplate' type found
标签:public style hat and 报错 require core ota ati 使用ActiveMQ过程中,定义消息生产者: package com.s ...
- vue实现消息badge 标记_Vue $mount实战之实现消息弹窗组件
之前的项目一直在使用Element-UI框架,element中的Notification.Message组件使用时不需要在html写标签,而是使用js调用.那时就很疑惑,为什么element ui使用 ...
- [RHCSA学习笔记]Autofs实现自动挂载NFS共享
NFS/autofs NFS Server 服务端 systemctl status nfs-server.service systemctl status rpcbind.service vi /e ...
- 自动驾驶技术——初学者笔记1:自动驾驶分级
自动驾驶技术--初学者笔记1:自动驾驶分级 最近正在研读工信出版社的<第一本无人驾驶技术书>,这里做一下笔记,这一章作为写博客的测试篇章. 自动驾驶技术的分级. 分级又两种:美国公路交通安 ...
- Android 9.0 recovery 菜单页跳过弹窗自动 WIPE_DATA(恢复出厂设置)
1.概述 在9.0的系统产品开发中,对系统原生的recovery功能也是系统中比较重要的一个部分,所以对于恢复出厂设置在开发中也是常有的功能 而在一款产品的开发过程中,由于在recovery界面需要手 ...
- html qq消息弹窗提醒,能不能让QQ消息不再讨厌 QQ HD mini消息弹窗提醒的优化方案...
随着用户对体验的要求越来越高,手机QQ消息的弹窗似乎对用户有着隐形的骚扰,手机QQ现在已经是一款很成熟的产品了. 但是在使用时,你一定有这样的感觉:不想错过某人的消息,但又有其他的消息在干扰,一遍又一 ...
- RabbitMQ之消息的自动应答、手动应答和消息持久化(Java开发)
1.消息的自动和手动应答 boolean autoAck = true;//消息自动应答 channel.basicConsume(WQ_QUEUE,autoAck,consumer); 默认情况下, ...
最新文章
- 九度 1553:时钟(模拟题)
- android 关于多任务下载问题
- python爬虫面试问题_Python爬虫面试总结
- .NetCore 3.1 安装本地化中文智能提示
- C#多线程编程系列(三)- 线程同步
- mysql+distinct+max_MySQL中distinct与group by之间的性能进行比较
- python的json中方法以及jsonpath模块
- (五)Qt实现自定义模型基于QAbstractItemModel
- spring 源码下载
- MAC常用快捷键和常规操作(一)
- c++编游戏-扫雷-c++游戏将彩色化-windows7自带扫雷游戏休闲娱乐
- 微软所有正版产品下载地址
- Android免费地图应用网址
- 体系结构复习2——指令级并行(分支预测和VLIW)
- 凡科服务器物理位置,建设网站教程
- 【死磕 Spring】----- IOC 之深入理解 Spring IoC
- latex 参考文献显示问号_回「LaTeX 的罪与罚」
- SAP ABAP BDC录屏 数据导入和检验-实例
- 有没有好人看看,谢谢谢谢
- Android Jni 调用