WPF自定义控件二:Border控件与TextBlock控件轮播动画
2024-09-06 09:57:23
需求:实现Border轮播动画与TextBlock动画
XAML代码如下:
<Window.Resources>
<Storyboard x:Key="OnLoaded1" RepeatBehavior="Forever">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Border.BorderBrush).(Brush.RelativeTransform).(TransformGroup.Children)[0].(RotateTransform.Angle)" Storyboard.TargetName="border">
<EasingDoubleKeyFrame KeyTime="0:0:2" Value="360"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="OnloadText" RepeatBehavior="Forever">
<DoubleAnimation From="-2" To="2" Duration="0:0:3" Storyboard.TargetProperty="(TextBlock.Foreground).(Brush.RelativeTransform).(TransformGroup.Children)[0].(TranslateTransform.X)" Storyboard.TargetName="border1">
</DoubleAnimation>
<DoubleAnimation From="2" To="-2" BeginTime="0:0:3" Duration="0:0:3" Storyboard.TargetProperty="(TextBlock.Foreground).(Brush.RelativeTransform).(TransformGroup.Children)[0].(TranslateTransform.X)" Storyboard.TargetName="border1"></DoubleAnimation>
</Storyboard>
<LinearGradientBrush x:Key="dddd" EndPoint="0.5,1" StartPoint="0.5,0">
<LinearGradientBrush.RelativeTransform>
<TransformGroup>
<RotateTransform Angle="0" CenterX="0.5" CenterY="0.5"/>
</TransformGroup>
</LinearGradientBrush.RelativeTransform>
<GradientStop Color="#11374c" Offset="0.2"/>
<GradientStop Color="White" Offset="4"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="eeee" StartPoint="0,0" EndPoint="1,0.001">
<LinearGradientBrush.RelativeTransform>
<TransformGroup>
<TranslateTransform X="-0.5" ></TranslateTransform>
</TransformGroup>
</LinearGradientBrush.RelativeTransform>
<LinearGradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Color="White" Offset="0.0"></GradientStop>
<GradientStop Color="LightBlue" Offset="0"></GradientStop>
<GradientStop Color="#11374c" Offset="1"></GradientStop>
</GradientStopCollection>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Window.Resources>
<Window.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard Storyboard="{StaticResource OnLoaded1}"/>
<BeginStoryboard Storyboard="{StaticResource OnloadText}"/>
</EventTrigger>
</Window.Triggers>
<Grid Background="Black">
<TextBlock x:Name="border1" Foreground="{StaticResource eeee}" Text="Hymson" Width="130" Height="55" FontSize="42" FontFamily="宋体" FontWeight="Black" />
<Border x:Name="border" Width="200" Height="60" BorderBrush="{StaticResource dddd}" BorderThickness="2" CornerRadius="5">
</Border>
</Grid>
效果展示
最新文章
- samba服务
- apple mobile device服务无法启动,错误1053 解决
- Android UI 绘制过程浅析(一)LayoutInflater简介
- 运用CSS和JS写的大图轮播-带箭头
- Kafka - SQL 代码实现
- set与hash_set
- 使用Unity3D自带动画系统制作下雨效果
- 六月计划#2B(6.10-6.16)
- 多目标遗传算法 ------ NSGA-II (部分源码解析)README 算法的部分英文解释
- 201521123114 《Java程序设计》第2周学习总结
- ExtJS:菜单ComboBox及级联菜单应用
- SSM项目目录结构
- Angular2+ 编译后部署到服务器上页面刷新404问题
- ML.NET 示例:多类分类之问题分类
- 【输入法】Rime-中州韵 基本设置 附:官方定制指南
- JAVA Clone复制对象
- MFC CTreeCtrl运用
- MongoDB 日记参数
- jQuery源码分析--Event模块(1)
- nancy中的本地化