LinearGradientBrush 旋转

LinearGradientBrush spin

我有一个 LinearGradientBrush 并且正在尝试对其应用 RotateTransform 偏移量。使用此代码,它会旋转并保持在我给它的角度:

<LinearGradientBrush.Transform>
    <RotateTransform CenterX="60" CenterY="30" Angle="45" />
</LinearGradientBrush.Transform>

有没有办法让 "Angle" 动态化,使画笔旋转 180 度?

您可以在 RotateTransform 的 Angle 属性 上 运行 DoubleAnimation,如下例所示,其中 LinearGradientBrush 填充了一个 Rectangle,动画开始时加载矩形,然后 运行s 永远:

<Rectangle Width="300" Height="300">
    <Rectangle.Fill>
        <LinearGradientBrush EndPoint="0,1">
            <GradientStop Color="White" Offset="0"/>
            <GradientStop Color="Black" Offset="1"/>
            <LinearGradientBrush.Transform>
                <RotateTransform CenterX="150" CenterY="150"/>
            </LinearGradientBrush.Transform>
        </LinearGradientBrush>
    </Rectangle.Fill>
    <Rectangle.Triggers>
        <EventTrigger RoutedEvent="Loaded">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation Storyboard.TargetProperty="Fill.Transform.Angle"
                        To="360" Duration="0:0:5" RepeatBehavior="Forever"/>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Rectangle.Triggers>
</Rectangle>