以下是视频学习笔记

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-主界面(页面切换,抽屉侧滑栏效果)的更多相关文章

  1. WPF学习笔记-用Expression Design制作矢量图然后导出为XAML

    WPF学习笔记-用Expression Design制作矢量图然后导出为XAML 第一次用Windows live writer写东西,感觉不错,哈哈~~ 1.在白纸上完全凭感觉,想象来画图难度很大, ...

  2. WPF 学习笔记-在WPF下创建托盘图标

    原文:WPF 学习笔记-在WPF下创建托盘图标 首先需要在项目中引用System.Windows.Forms,System.Drawing; using System; using System.Co ...

  3. WPF 学习笔记-设置属性使窗口不可改变大小

    原文:WPF 学习笔记-设置属性使窗口不可改变大小 调整Windows下的ResizeMode属性: ResizeMode = NoResize Resize属性是控制Windows是否可以改变大小, ...

  4. WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决

    原文:WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决 如下图,在凭证编辑窗体中,有的单元格不需要数字,但如果录入数字后再删除,会触发数字验证,单元格显示红色框线,导致不能执行 ...

  5. zabbix学习笔记:zabbix监控之短信报警

    zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...

  6. [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设

    [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...

  7. Qt Creator 源码学习笔记03,大型项目如何管理工程

    阅读本文大概需要 6 分钟 一个项目随着功能开发越来越多,项目必然越来越大,工程管理成本也越来越高,后期维护成本更高.如何更好的组织管理工程,是非常重要的 今天我们来学习下 Qt Creator 是如 ...

  8. Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  9. springmvc学习笔记---idea创建springmvc项目

    前言: 真的是很久没搞java的web服务开发了, 最近一次搞还是读研的时候, 想来感慨万千. 英雄没落, Eclipse的盟主地位隐隐然有被IntelliJ IDEA超越的趋势. Spring从2. ...

  10. Android(java)学习笔记207:开源项目使用之gif view

    1. 由于android没有自带的gif动画,我在Android(java)学习笔记198:Android下的帧动画(Drawable Animation) 播客中提到可以使用AnimationVie ...

随机推荐

  1. Redis02 在linux安装部署(单机版)

    1 安装gcc编译器 进入linux,执行命令 sudo apt-get install -y gcc Centos使用yum命令替代apt-get sudo yum install -y gcc 2 ...

  2. 无法将“obj\Debug\net5.0\xxx.dll”复制到“bin\Debug\net5.0\xxx.dll”。超出了重试计数 10。失败。

    解决办法 VS选中项目,右键清理解决方案,再次右键重新生成方案即可. 以上就是无法将"obj\Debug\net5.0\xxx.dll"复制到"bin\Debug\net ...

  3. Quartz.NET 任务调度框架的demo实例

    1.新建项目 简单实例,新建一个控制台程序 2.Nuget安装Quartz 3.编写代码 using Quartz; using Quartz.Impl; using Quartz.Logging; ...

  4. Nacos入门

    1.介绍 ①概要 官网:home (nacos.io) Nacos:Dynamic Naming and Configuration Service(动态命名和配置服务) 你可以看为:Eureka(注 ...

  5. vue3 vite 使用NProgress.js纳米级进度条

    NProgress.js 官网:https://ricostacruz.com/nprogress/ 安装方式: npm install nprogress 使用方法 在router 的index.j ...

  6. 微信小程序分包

    当我们程序太大的时候,打开小程序就会比较慢,此处就需要用到分包加载,按照模块划分不同的包,让用户在需要的时候才加载对用的模块,也就是用户在进入某些页面的时候才下载该页面的资源,提高小程序的打开速度,以 ...

  7. KMP 算法(Knuth–Morris–Pratt algorithm)的基本思想

    KMP 算法(Knuth–Morris–Pratt algorithm)的基本思想 阅读本文之前,您最好能够了解 KMP 算法解决的是什么问题,最好能用暴力方式(Brute Force)解决一下该问题 ...

  8. ACR2022的辩论:DMARDs在pre-RA中的作用

    ACR2022的辩论:DMARDs在pre-RA中的作用 2022年11月13日   亚临床RA在风湿病学实践中越来越常见:然而,目前尚不清楚如何管理这些患者,以及启动DMARD是否可以预防RA的发展 ...

  9. [EULAR文摘] 超声对已获临床低活动度RA患者病情复发的预测

    标签:eular文摘; 超声评估; 病情预测 超声对已获临床低活动度RA患者病情复发的预测 Lamers-Karnebeek FBG, et al. EULAR 2015.Present ID: OP ...

  10. 基于OpenLayers使用WFS实现GeoServer地图要素的增删改查

    1. 概述 Web Feature Service(WFS)接口标准定义了一组接口,用于在Internet上访问要素和要素属性级别的地理信息.WFS提供了检索或查询矢量要素的方法,这种方法独立于它们发 ...