WPF背景顏色變化的動畫
阿新 • • 發佈:2019-02-07
//想做一個背景顏色變化的動畫,開始想用透明因子Opacity來實現,後來發現可以改變漸變線性刷LinearGradienBrush的Offset來實現
//就是在設定Storyboard.TargetProperty的時候比較繞
//例項:
<Color x:Key="WhiteColor">#FFFFFFFF</Color> <Color x:Key="NormalColor">#FF398FDF</Color> <LinearGradientBrush x:Key="LGBrush" StartPoint="0,0.5" EndPoint="1,0.5"> <GradientStop Color="{StaticResource NormalColor}" Offset="0"/> <GradientStop Color="{StaticResource WhiteColor}" Offset="0.5"/> <GradientStop Color="{StaticResource NormalColor}" Offset="1"/> </LinearGradientBrush> <Grid> <Grid.Triggers> <EventTrigger RoutedEvent="Loaded"> <BeginStoryboard> <Storyboard> <DoubleAnimation Storyboard.TargetName="border" Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Offset)" BeginTime="00:00:00" Duration="00:00:10" From="0" To="1" AutoReverse="True" RepeatBehavior="Forever"/> </Storyboard> </BeginStoryboard> </EventTrigger> </Grid.Triggers> <Border x:Name="border" Background={StaticResource LGBrush} CornerRadius="2"/> </Grid>