WPF 右下角弹窗的简单实现

软件中经常出现右下角弹窗,从下面缓缓弹出的,这次就做个简陋的实现,

思路就是在窗口加载和关闭时执行动画DoubleAnimation

今天懒得做界面了,只实现了功能。

看看效果:

下面看看代码:

主窗口添加一个按钮 ,点击事件:

 private void Button_Click(object sender, RoutedEventArgs e){NotifyWindow notifyWindow = new NotifyWindow() { Message="MessageBox" };notifyWindow.Show();}

,新建一个NotifyWindow:

xaml:

<Window x:Class="WPFDemos.NotifyWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WPFDemos"mc:Ignorable="d"Background="Transparent"AllowsTransparency="True"WindowStyle="None"x:Name="window"Title="NotifyWindow" Height="200" Width="300"><Grid Margin="8" Background="White"><Grid.Effect><DropShadowEffect BlurRadius="8" ShadowDepth="0" Color="Black"/></Grid.Effect><Button Content="关闭" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="5" Click="Button_Click"/><TextBlock Text="{Binding Message,ElementName=window}" FontSize="35" HorizontalAlignment="Center" VerticalAlignment="Center"/></Grid>
</Window>

后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;namespace WPFDemos
{/// <summary>/// NotifyWindow.xaml 的交互逻辑/// </summary>public partial class NotifyWindow : Window{public NotifyWindow(){InitializeComponent();Loaded += NotifyWindow_Loaded;}private void NotifyWindow_Loaded(object sender, RoutedEventArgs e){Left = SystemParameters.WorkArea.Right - this.Width;Top = SystemParameters.WorkArea.Bottom;var animation = new DoubleAnimation{Duration = new Duration(TimeSpan.FromSeconds(0.5)),To = SystemParameters.WorkArea.Bottom - this.Height,};this.BeginAnimation(TopProperty, animation);}private string message = "Message";public string Message{get { return message; }set { message = value; }}private void Button_Click(object sender, RoutedEventArgs e){var animation = new DoubleAnimation{Duration = new Duration(TimeSpan.FromSeconds(0.3)),To = SystemParameters.WorkArea.Bottom,};animation.Completed += (ss, ee) =>{this.Close();};this.BeginAnimation(TopProperty, animation);}}
}

完啦 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今年不容易,要懂得爱护自己

冬天到了&#xff0c;衣服逐层加厚&#xff0c;脖子老是皱巴巴的&#xff0c;坐在位置上老是觉得周身不舒服&#xff0c;小木提醒下大家该爱护一下自己的颈椎。这个像缩成一团的东西&#xff0c;是什么&#xff1f;打开以后&#xff0c;它就变成个旅行枕啦&#xff0c;就是我们…

实现多租户系统的一点思考

2020年突发的新冠疫情&#xff0c;让在线协同办公在疫情期间成为了刚需。我们也从 2020 年的 2月3 日开始在家远程办公&#xff0c;直到四月份。协同办公软件一下子火爆了起来&#xff0c;钉钉、企业微信、特别是腾讯会议等都在疫情期间表现突出&#xff0c;呈现出井喷式的发展…

都说Python库千千万,这几个你认识不?

目前&#xff0c;人工智能的应用日渐广泛。而作为人工智能核心的机器学习&#xff0c;是一门多领域的交叉学科&#xff0c;专门研究计算机模拟或实现人类学习行为的方法&#xff0c;以获取新的知识或技能&#xff0c;重新组织已有的知识结构使之不断改善自身的性能。简单来说&a…

50款大数据分析神器 :你还在用Excel

全世界只有3.14 % 的人关注了数据与算法之美你平时用什么大数据分析工具&#xff1f;D3&#xff1f; R&#xff1f; 还是Processing&#xff1f;PS和计算器...只有你还在用excel&#xff01;工欲善其事&#xff0c;必先利其器&#xff01;一款好的工具可以让你事半功倍。大数据…

WEB安全测试软件

为什么80%的码农都做不了架构师&#xff1f;>>> 五种必会软件&#xff1a; SubSonic CodeSmith Professional 4.1 HttpWatch Professional IE Developer Toolbar Fiddler 是一个web调试代理。它能够记录所有客户端和服务器间的http请求&#xff0c;允许你监视&…

python区域增长算法_区域增长算法

嘿大家好。我真的很难搞清楚这个逻辑&#xff0c;希望你能帮我。在我继续之前&#xff0c;我只想告诉你&#xff0c;我是业余程序员&#xff0c;也是一个初学者&#xff0c;没有任何形式的正式计算机科学培训&#xff0c;所以请容忍我。&#xff1a;D另外&#xff0c;我使用的是…

P6砖家:对不起,我没.NET5高并发经验,我要跑路了!

“秒杀活动”“抢红包”“微博热搜”“12306抢票”“共享单车拉新”等都是高并发的典型业务场景&#xff0c;那么如何解决这些业务场景背后的难点问题呢&#xff1f;秒杀系统中&#xff0c;QPS达到10万/s时&#xff0c;如何定位并解决业务瓶颈&#xff1f;明星婚恋话题不断引爆…

孩子觉得数学难?那是底子没打好!

孩子觉得数学难&#xff1f;那是底子没打好&#xff01;&#xff08;北师大学前教育博士帮你一起塑造孩子的数学思维&#xff01;&#xff09;要说陪娃写作业这事儿的状态和成果&#xff0c;用一句诗词就能概括&#xff1a;我本将心向明月&#xff0c;奈何明月照沟渠。陪得好&a…

python科学计算环境配置_ATLAS + NumPy + SciPy + Theano 的Python科学计算环境搭建

Theano是一个Python库&#xff0c;提供了定义、优化以及评估数学表达式的库&#xff0c;尤其适合处理高维数组。使用Theano能获得和C差不多的处理速度&#xff0c;并且当利用GPU进行计算时&#xff0c;效率要优于CPU上运行的C语言程序。利用Theano能快速验证各种算法模型。但是…

朋友圈有趣的灵魂都去哪了?这几个优质公号给你答案

全世界有3.14 % 的人已经关注了数据与算法之美又到每周限量推荐公众号的时间啦关注了那么多公众号&#xff0c;百无聊奈地看文章你是否觉得时间被浪费&#xff0c;生命被辜负了&#xff1f;在号的数量上做减法&#xff0c;质量上做加法接下来给大家推荐最近一直在阅读的几个优质…

Istio 1.10 发布及官网改版

本文译自 Istio 官方文档 [1]&#xff0c;有部分修改。北京时间 5 月 19 日&#xff0c;我们很高兴地宣布 Istio 1.10 的发布&#xff01;我们要特别感谢我们的发布经理 Sam Naser[2] 和 张之晗 [3]&#xff0c;以及整个测试和发布工作组在 1.10 中的工作。这是我们 2021 年的第…

CSS各属性表

1、CSS 背景属性&#xff08;Background&#xff09; 属性描述CSSbackground在一个声明中设置所有的背景属性。1background-attachment设置背景图像是否固定或者随着页面的其余部分滚动。1background-color设置元素的背景颜色。1background-image设置元素的背景图像。1backgrou…

深入探讨编程到底需要知道多少数学知识

全世界只有3.14 % 的人关注了数据与算法之美这篇文章中我会深入探讨编程中所需要的数学知识。你可能已经都知道了。对于基本的编程&#xff0c;你需要知道下面的&#xff1a;加减乘除 — 实际上&#xff0c;电脑会帮你作加减乘除运算。你仅需要知道什么时候运用它们。模运算 —…

zabbix2.0安装与配置

一、zabbix服务端安装&#xff1a;官方下载&#xff1a;http://www.zabbix.com/download.php1.安装配置所需要软件(zabbix需要一个lamp环境)[rootlocalhost ~]# yum install httpd php php-devel php-gd php-bcmath php-mbstring mysql-devel mysql-serverphp-xml php-mysql gd…

BeetleX.FastHttpApi之控制器调度设计

为了可以更灵活地在Webapi应用服务中分配线程资源&#xff0c;BeetleX.FastHttpApi在线程调度上直接细化到Action级别&#xff1b;组件不仅可以精准控制每个Action的最大RPS限制&#xff0c;还能精细到控制使用多少线程资源来处理这些API的请求。接下来详细讲解组件针对这一块的…

Java类加载机制深度分析

为什么80%的码农都做不了架构师&#xff1f;>>> Java类加载机制 类加载是Java程序运行的第一步&#xff0c;研究类的加载有助于了解JVM执行过程&#xff0c;并指导开发者采取更有效的措施配合程序执行。研究类加载机制的第二个目的是让程序能动态的控制类加载&…

北大清华团队编写!200多个科学实验+视频,和爸爸一起在家做

自从2017年2月份教育部从小学一年级起将科学课列入必修课&#xff0c;学校、家长都意识到科学素养对于孩子成长的重要性。好多家长都跃跃欲试&#xff0c;想陪孩子把科学“玩”起来。可是具体到如何给孩子做科学启蒙&#xff0c;面对的问题还真不少&#xff1a;生活中有哪些科学…

如何搭建一个指标体系

2019独角兽企业重金招聘Python工程师标准>>> 今天跟大家聊聊&#xff0c;如何搭建一个指标体系。 1、什么是指标体系 “指标体系”这个概念是应用比较广泛的&#xff0c;我们从正式出版物中摘取一个定义&#xff1a; 指标体系&#xff0c;即统计指标体系&#xff0c…

2018年最后一个月最值得关注的13个优质公号

全世界有3.14 % 的人已经关注了数据与算法之美在这个知识千变万化的时代只有不断学习、充实自我&#xff0c;才能跟上时代以下13个顶级公众号能让你扩宽视野&#xff0c;紧跟时代的潮流近现代史研究通讯ID&#xff1a;jxsdyjtx2015▲长按二维码“识别”关注设置为星标近现代史研…

.NET Worker Service 如何优雅退出

上一篇文章中我们了解了 .NET Worker Service 的入门知识[1]&#xff0c;今天我们接着介绍一下如何优雅地关闭和退出 Worker Service。Worker 类从上一篇文章中&#xff0c;我们已经知道了 Worker Service 模板为我们提供三个开箱即用的核心文件&#xff0c;其中 Worker 类是继…