StoryBoard里面的StyleBoard

时间:2017-05-27 11:31:11

标签: c# wpf xaml animation storyboard

我正在尝试在启用图像时将图像旋转到其样式中。但它会引发错误:

  

无法解析属性路径中的所有属性引用   '角&#39 ;.验证适用的对象是否支持属性。

任何人都知道这里的问题是什么?

<Image x:Name="Logo" Source="Resources/Logo.png" RenderTransformOrigin=".5,.5">
    <Image.Style>
        <Style TargetType="{x:Type Image}">
            <Style.Triggers>
                <Trigger Property="IsEnabled" Value="True">
                    <Trigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Storyboard.TargetProperty="Angle" By="10" To="360" RepeatBehavior="Forever" />
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.EnterActions>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Image.Style>
</Image>

我尝试过Storyboard.TargetProperty =&#34; Image.Angle&#34;但结果相同。

1 个答案:

答案 0 :(得分:1)

Image元素没有Angle属性。

将Image的RenderTransform属性设置为RotateTransform,然后使用Angle作为属性路径为变换对象的RenderTransform.Angle属性设置动画:

<Image x:Name="Logo" Source="Resources/Logo.png" RenderTransformOrigin=".5,.5">
    <Image.RenderTransform>
        <RotateTransform/>
    </Image.RenderTransform>
    <Image.Style>
        <Style TargetType="Image">
            <Style.Triggers>
                <Trigger Property="IsEnabled" Value="True">
                    <Trigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation
                                    Storyboard.TargetProperty="RenderTransform.Angle"
                                    To="360" RepeatBehavior="Forever"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </Trigger.EnterActions>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Image.Style>
</Image>

另请注意,当您同时设置By时,设置DoubleAnimation的To属性也无效。