XAML 特效
- <Window
- x:Class="WpfApp5.MainWindow"
- 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:local="clr-namespace:WpfApp5"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:sys="clr-namespace:System;assembly=mscorlib"
- Name="UI"
- Title="MainWindow"
- Background="White"
- mc:Ignorable="d" Height="350"
- Width="525">
- <Window.Resources>
- <!-- Marching Ants -->
- <Storyboard x:Key="MarchingAnts">
- <DoubleAnimation BeginTime="00:00:00"
- Storyboard.TargetName="AlertBox"
- Storyboard.TargetProperty="StrokeThickness"
- To="4"
- Duration="0:0:0.25" />
- <!-- If you want to run counter-clockwise, just swap the 'From' and 'To' values. -->
- <DoubleAnimation BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="AlertBox" Storyboard.TargetProperty="StrokeDashOffset"
- Duration="0:3:0" From="1000" To="0"/>
- </Storyboard>
- <!-- Pulse -->
- <Storyboard x:Key="Pulse" RepeatBehavior="Forever">
- <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="PulseBox">
- <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1.15"/>
- <EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
- </DoubleAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="PulseBox">
- <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="1.15"/>
- <EasingDoubleKeyFrame KeyTime="0:0:1" Value="1"/>
- </DoubleAnimationUsingKeyFrames>
- </Storyboard>
- <!-- Flipper -->
- <Storyboard x:Key="Flipper" RepeatBehavior="Forever">
- <PointAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransformOrigin)" Storyboard.TargetName="FlipperBox">
- <EasingPointKeyFrame KeyTime="0:0:1" Value="0.5,0.5"/>
- <EasingPointKeyFrame KeyTime="0:0:2" Value="0.5,0.5"/>
- </PointAnimationUsingKeyFrames>
- <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="FlipperBox">
- <EasingDoubleKeyFrame KeyTime="0:0:1" Value="-1"/>
- <EasingDoubleKeyFrame KeyTime="0:0:2" Value="1"/>
- </DoubleAnimationUsingKeyFrames>
- </Storyboard>
- <!-- Elasic Lines -->
- <Storyboard x:Key="ElasticLines" RepeatBehavior="Forever" AutoReverse="True">
- <PointAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(LinearGradientBrush.EndPoint)" Storyboard.TargetName="ElasticBox">
- <EasingPointKeyFrame KeyTime="0:0:4" Value="12,8"/>
- </PointAnimationUsingKeyFrames>
- </Storyboard>
- <!-- Knight Rider -->
- <Storyboard x:Key="KnightRider" RepeatBehavior="Forever" AutoReverse="True">
- <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="KRBox">
- <EasingDoubleKeyFrame KeyTime="0:0:1" Value="-50"/>
- <EasingDoubleKeyFrame KeyTime="0:0:2" Value="50"/>
- <EasingDoubleKeyFrame KeyTime="0:0:3" Value="0"/>
- </DoubleAnimationUsingKeyFrames>
- </Storyboard>
- </Window.Resources>
- <Window.Triggers>
- <EventTrigger RoutedEvent="FrameworkElement.Loaded">
- <BeginStoryboard Storyboard="{StaticResource Pulse}"/>
- <BeginStoryboard Storyboard="{StaticResource MarchingAnts}"/>
- <BeginStoryboard Storyboard="{StaticResource Flipper}"/>
- <BeginStoryboard Storyboard="{StaticResource ElasticLines}"/>
- <BeginStoryboard Storyboard="{StaticResource KnightRider}"/>
- </EventTrigger>
- </Window.Triggers>
- <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
- <Grid.Resources>
- <Style TargetType="{x:Type TextBlock}">
- <Setter Property="Foreground" Value="White"/>
- <Setter Property="FontWeight" Value="Bold"/>
- <Setter Property="FontSize" Value="35"/>
- <Setter Property="HorizontalAlignment" Value="Center"/>
- <Setter Property="VerticalAlignment" Value="Center"/>
- <Setter Property="Text" Value="ALERT"/>
- </Style>
- <Style TargetType="{x:Type Grid}">
- <Setter Property="Margin" Value="0,10"/>
- </Style>
- <Style TargetType="{x:Type Rectangle}">
- <Setter Property="Height" Value="50"/>
- <Setter Property="Width" Value="150"/>
- </Style>
- </Grid.Resources>
- <StackPanel>
- <!-- Marching Ants -->
- <Grid>
- <Rectangle x:Name="AlertBox"
- Stroke="Red"
- StrokeDashOffset="2" StrokeDashArray="5" Margin="5">
- <Rectangle.Fill>
- <LinearGradientBrush StartPoint="0,0" EndPoint="6,4" MappingMode="Absolute" SpreadMethod="Repeat">
- <GradientStop Color="Red" Offset="0.25"/>
- <GradientStop Color="#00000000" Offset="0.15"/>
- </LinearGradientBrush>
- </Rectangle.Fill>
- </Rectangle>
- <TextBlock/>
- </Grid>
- <!-- End Marching Ants -->
- <!-- Pulse : Will not skew other elements location like width/height animations would. -->
- <Grid>
- <Border x:Name="PulseBox"
- Background="Red" RenderTransformOrigin="0.5,0.5">
- <Border.RenderTransform>
- <TransformGroup>
- <ScaleTransform/>
- <SkewTransform/>
- <RotateTransform/>
- <TranslateTransform/>
- </TransformGroup>
- </Border.RenderTransform>
- <TextBlock/>
- </Border>
- </Grid>
- <!-- End Pulse -->
- <!-- Flipper -->
- <Grid>
- <Border x:Name="FlipperBox"
- Background="Red">
- <Border.RenderTransform>
- <TransformGroup>
- <ScaleTransform/>
- <SkewTransform/>
- <RotateTransform/>
- <TranslateTransform/>
- </TransformGroup>
- </Border.RenderTransform>
- <TextBlock/>
- </Border>
- </Grid>
- <!-- End Flipper -->
- <!-- Elastic Lines -->
- <Grid>
- <Rectangle x:Name="ElasticBox"
- Stroke="Red" StrokeThickness="5" Margin="5">
- <Rectangle.Fill>
- <LinearGradientBrush StartPoint="0,0" EndPoint="6,4" MappingMode="Absolute" SpreadMethod="Repeat">
- <GradientStop Color="Red" Offset="0.25"/>
- <GradientStop Color="#00000000" Offset="0.15"/>
- </LinearGradientBrush>
- </Rectangle.Fill>
- </Rectangle>
- <TextBlock/>
- </Grid>
- <!-- End Elastic Box -->
- <!-- Knight Rider -->
- <Grid>
- <Rectangle Fill="Red"/>
- <Rectangle x:Name="KRBox" Width="50" Fill="White" RenderTransformOrigin="0.5,0.5">
- <Rectangle.RenderTransform>
- <TransformGroup>
- <ScaleTransform/>
- <SkewTransform/>
- <RotateTransform/>
- <TranslateTransform/>
- </TransformGroup>
- </Rectangle.RenderTransform>
- </Rectangle>
- <TextBlock Foreground="Red"/>
- </Grid>
- <!-- End Knight Rider -->
- </StackPanel>
- </Grid>
- </Window>
XAML 特效的更多相关文章
- 基于<MediaElement>的WPF视频播放器(带部分特效)【2】
一.前言 上回说到需要做放视频的使用向导,这两天公司里的老司机一直帮我答疑解惑,让这个任务变得挺顺的,真心感谢他们! 这次与[1]中的不同之处在于: (1)播放和暂停按钮集成在<Me ...
- Windows Store App 偏移特效
通过前面讲解的内容,读者已经了解了如何在三维空间中使旋转对象绕指定的旋转中心旋转一定的角度.接下来在这个基础上进一步讲解如何对旋转对象进行平移.下面首先介绍一下用到的几个属性. q LocalOff ...
- Windows Store App 旋转特效
使用Projection类可以实现界面元素的三维效果,它可以使界面上的元素在三维空间中沿着X轴.Y轴或者Z轴旋转一定的角度,在透视转换中此类又称为元素的Projection属性,用于对元素使用3D特效 ...
- winrt 上的翻书特效组件 源码分享 转载请说明
http://blog.csdn.net/wangrenzhu2011/article/details/10207413 (转) [TemplatePart(Name = A_PARTNAME, Ty ...
- WPF制作QQ列表(仿qq列表特效)
先看效果图:这个是折叠特效. 代码结构: model是我们的数据模型,定义了在列表显示的人物名称 图片 简介 . Resource是我们的图片资源 和 存储图片资源路径.名称 ...
- Silverlight & Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化、波感特效
当我们在进行Silverlight & Blend进行动画设计的过程中,可能需要设计出很多效果不一的图形图像出来作为动画的基本组成元素.然而在设计过程中可能会出现许多的问题,比如当前绘制了一个 ...
- wpf利用线程制作初始界面和关闭窗体特效
1.首先定义初始窗体,和主窗体. 初始窗体(StartWindow) 主窗体(MainWindow): 2.在主窗体界面中,加载初始窗体.注意在线程中操作UI元素需要使用BeginInvoke或者In ...
- xaml可扩展应用程序标记语言
xaml 类似于 html,但不是html,它是基于xml语言的:’html可以呈现在浏览器中而xaml 可以现实 3d动画等特效. xaml 是强类型语言, 是解释性语言,虽然他可以被编译.
- 浅谈WPF中对控件的位图特效(WPF Bitmap Effects)
原文:浅谈WPF中对控件的位图特效(WPF Bitmap Effects) -------------------------------------------------------------- ...
随机推荐
- 理解 Python 语言中的 defaultdict
众所周知,在Python中如果访问字典中不存在的键,会引发KeyError异常(JavaScript中如果对象中不存在某个属性,则返回undefined).但是有时候,字典中的每个键都存在默认值是非常 ...
- 正确而又严谨得ajax原生创建方式
自己去封装一个xhr对象是一件比较麻烦的事情.其实也不麻烦,注意逻辑和一个ie6兼容方案(可无),和一个304 其他2开头的status都可以就好了 <!DOCTYPE html> < ...
- cookie记录
登录页面引用: <script src="/jquery.cookie.js"></script> 登录页面jq: var telphone = $('[n ...
- jQ-点击查看更多
<style type="text/css"> .hi { width: 200px; height: 18vw; background-color: pink; fo ...
- springmvc java程序文件保存地址的路径问题
会保存为这种斜杠 不论之前填写的是什么样
- python元祖和列表
下面讲到的分别有: 列表:元祖 列表的定义 list(列表)是python中使用最频繁的数据类型,在其他语言中叫做数组 专门储存一串信息 列表[ ]定义,数据之间有逗号分隔 列表的索引是从0开始的 ...
- java-静态-单例-继承
概要图 一.静态 1.1 静态方法 创建对象就是为了产生实例,并进行数据的封装. 而调用功能时,确没有用到这些对象中封装的数据. 该对象的创建有意义吗?虽然可以编译并运行,但是在堆内存中空间较为浪费. ...
- Java中用JXL导出Excel代码详解
jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI.其中功能相对POI比较弱一点.但jExcelAPI对中文支 ...
- Leetcode661.Image Smoother图片平滑器
包含整数的二维矩阵 M 表示一个图片的灰度.你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个,则尽可能多 ...
- idea 创建properties配置文件
[转载]原文链接:https://blog.csdn.net/caoPengFlying/article/details/78660379 我们在j2ee当中,连接数据库的时候经常会用到propert ...