2017-05-27 40 views
0

我试图在图像启用时在其样式中旋转我的图像。它会抛出一个错误:内部样式触发器的StoryBoard

Cannot resolve all property references in the property path 'Angle'. Verify that applicable objects support the properties.

任何人有任何线索是什么问题在这里?

<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 =“Image.Angle”,但结果相同。

回答

1

图像元素没有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> 

还要注意的是设定一个DoubleAnimation是的By属性无效时:

设置图像的RenderTransform属性设置为一个RotateTransform,然后用RenderTransform.Angle财产路径动画的变换对象的Angle财产您还设置了To

+0

完美的感觉和作品的魅力,谢谢! – Bastiaan