WPF学习笔记-数据采集与监控项目02-主界面(页面切换,抽屉侧滑栏效果)
以下是视频学习笔记
https://www.bilibili.com/video/BV1gq4y1D76d?p=28
1,页面切换和命令绑定
效果

实现思路

2,弹出抽屉侧滑窗的效果
【2.1】效果

【2.2】侧滑栏代码
<!--抽屉侧滑栏,Background="#EE444444" 是1个半透明的效果-->
<Border Background="#EE444444" Width="240" HorizontalAlignment="Right" CornerRadius="5">
<!--添加阴影效果,这里不是很明显,Direction是阴影的方向,180是阴影在左边-->
<Border.Effect>
<DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="180"></DropShadowEffect>
</Border.Effect>
<!--位移变形实现抽屉侧滑,实际上是改变X的值-->
<Border.RenderTransform>
<TranslateTransform X="250" x:Name="tt"></TranslateTransform>
</Border.RenderTransform>
<Button Width="40" Height="40" VerticalAlignment="Top" HorizontalAlignment="Left" Name="btnCloseUserInfo"
BorderThickness="0" Content="" FontFamily="../Assets/Iconfont/#iconfont"></Button>
</Border>
【2.3】
<!--动画目标,把谁的什么属性在多少时间内从当前值变化到0,打开抽屉窗-->
<Storyboard x:Key="UserInfoStoryboard">
<DoubleAnimation Duration="0:0:0.2" To="0"
Storyboard.TargetName="tt"
Storyboard.TargetProperty="X">
</DoubleAnimation>
</Storyboard>
<!--动画目标,隐藏抽屉窗-->
<Storyboard x:Key="CloseUserInfoStoryboard">
<DoubleAnimation Duration="0:0:0.2"
Storyboard.TargetName="tt"
Storyboard.TargetProperty="X">
</DoubleAnimation>
</Storyboard>
【2.4】
<Window.Triggers>
<!--点击btnUserInfo触发UserInfoStoryboard打开抽屉窗-->
<EventTrigger RoutedEvent="Button.Click" SourceName="btnUserInfo">
<BeginStoryboard Storyboard="{StaticResource UserInfoStoryboard}"></BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="Button.Click" SourceName="btnCloseUserInfo">
<BeginStoryboard Storyboard="{StaticResource CloseUserInfoStoryboard}"></BeginStoryboard>
</EventTrigger>
</Window.Triggers>
WPF学习笔记-数据采集与监控项目02-主界面(页面切换,抽屉侧滑栏效果)的更多相关文章
- WPF学习笔记-用Expression Design制作矢量图然后导出为XAML
WPF学习笔记-用Expression Design制作矢量图然后导出为XAML 第一次用Windows live writer写东西,感觉不错,哈哈~~ 1.在白纸上完全凭感觉,想象来画图难度很大, ...
- WPF 学习笔记-在WPF下创建托盘图标
原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...
- WPF 学习笔记-设置属性使窗口不可改变大小
原文:WPF 学习笔记-设置属性使窗口不可改变大小 调整Windows下的ResizeMode属性: ResizeMode = NoResize Resize属性是控制Windows是否可以改变大小, ...
- WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决
原文:WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决 如下图,在凭证编辑窗体中,有的单元格不需要数字,但如果录入数字后再删除,会触发数字验证,单元格显示红色框线,导致不能执行 ...
- zabbix学习笔记:zabbix监控之短信报警
zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...
- [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设
[HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...
- Qt Creator 源码学习笔记03,大型项目如何管理工程
阅读本文大概需要 6 分钟 一个项目随着功能开发越来越多,项目必然越来越大,工程管理成本也越来越高,后期维护成本更高.如何更好的组织管理工程,是非常重要的 今天我们来学习下 Qt Creator 是如 ...
- Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...
- springmvc学习笔记---idea创建springmvc项目
前言: 真的是很久没搞java的web服务开发了, 最近一次搞还是读研的时候, 想来感慨万千. 英雄没落, Eclipse的盟主地位隐隐然有被IntelliJ IDEA超越的趋势. Spring从2. ...
- Android(java)学习笔记207:开源项目使用之gif view
1. 由于android没有自带的gif动画,我在Android(java)学习笔记198:Android下的帧动画(Drawable Animation) 播客中提到可以使用AnimationVie ...
随机推荐
- 转载:屎人-->诗人系列--码农之歌
转贴经常关注的一个博主的文,感觉还挺有趣: https://goofegg.github.io/content.html?id=141 ************************** 这个系列第 ...
- JavaScript的this指向详解
一.概念: 函数的上下文(this)由调用函数的方式决定,function是"运行时上下文"策略: 函数如果不调用,则不能确定函数的上下文. 二.规则: 对象打点调用它的方法函数, ...
- 黑马Mybatis快速入门
创建user表,添加数据,Mysql: 1 create database mybatis; 2 use mybatis; 3 drop table if exists tb_user; 4 crea ...
- JavaSE学习笔记(一)----java基础
本文来自博客园,作者:{张果},转载请注明原文链接:{JavaSE学习总结(一)--java基础} 一.Java是什么 Java 是由 Sun Microsystems 在 1995 年首先发布的编程 ...
- cmd数字雨原代码
转自:https://www.xitongtiandi.net/wenzhang/xp/29290.html
- Iceberg 数据治理及查询加速实践
数据治理 Flink 实时写入 Iceberg 带来的问题 在实时数据源源不断经过 Flink 写入的 Iceberg 的过程中,Flink 通过定时的 Checkpoint 提交 snapshot ...
- Uncaught ReferenceError: Cannot access 'constantRouterMap' before initialization
这个问题可以在 main.js 中,调整 import store from '@/store 和 import router from @/router 的先后顺序进行解决 router 在 s ...
- Activity 和 Fragment 中的视图绑定
开启视图绑定 找到 build.gradle 文件,因为有两个 build.gradle,我们要操作的是第二个: 在这个位置加上这一句话,然后点击右上角的 Sync Now 按钮更新项目: andro ...
- 探索 C 语言的指针
指针的概念 指针代表一个变量的内存地址,通过&可以拿到变量的内存地址.变量不等于指针,通过*可以拿到指针所指向的变量的值. 在 C 中,存在指针变量,指针变量的声明格式:int* varNam ...
- 关于Visual Studio使用头文件"stdafx.h"报错原因
当我们需要使用"stdafx.h"该头文件时,Visual Studio会报错,提示我们无法打开源文件"stdafx.h",实际上在Visual Studio中 ...