我不在乎圆角,使用不同的颜色,而不是猜测你的颜色,每一秒都让我感到有点眩晕,但这会改变颜色梯度:
<Border BorderThickness="10">
<Border.BorderBrush>
<LinearGradientBrush x:Name="bbrush">
<GradientStop Color="Blue" Offset="0" />
<GradientStop Color="Yellow" Offset="0.5" />
<GradientStop Color="Red" Offset="1.0" />
</LinearGradientBrush>
</Border.BorderBrush>
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<EventTrigger RoutedEvent="Border.Loaded">
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever">
<PointAnimation Storyboard.TargetProperty="BorderBrush.(LinearGradientBrush.StartPoint)" From="1, 0" To="0, 1" Duration="00:00:10" />
<PointAnimation Storyboard.TargetProperty="BorderBrush.(LinearGradientBrush.StartPoint)" From="0, 1" To="1, 0" Duration="00:00:10"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
这里有另一种方法,旋转画笔。
执行此操作时需要注意的是相当曲折的路径语法,以及笔刷具有相对转换而不是rendertransform的事实。
<Border BorderThickness="10">
<Border.BorderBrush>
<LinearGradientBrush x:Name="bbrush">
<GradientStop Color="Blue" Offset="0" />
<GradientStop Color="Yellow" Offset="0.5" />
<GradientStop Color="Red" Offset="1.0" />
<LinearGradientBrush.RelativeTransform>
<RotateTransform CenterX="0.5" CenterY="0.5" x:Name="rotateBrush" />
</LinearGradientBrush.RelativeTransform>
</LinearGradientBrush>
</Border.BorderBrush>
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<EventTrigger RoutedEvent="Border.Loaded">
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever">
<DoubleAnimation Storyboard.TargetProperty="(Border.BorderBrush).(Brush.RelativeTransform).(RotateTransform.Angle)"
From="0"
To="359"
Duration="00:00:10" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>