带有TransformGroup和故事板的wpf加载程序图像动画

带有TransformGroup和故事板的wpf加载程序图像动画,wpf,xaml,Wpf,Xaml,我正在尝试使用关键帧和情节提要在wpf中使用DoubleAnimationUsingKeyFrames和StoryBoard创建加载程序图像,但出现了此错误 无法解析属性路径“(0)。(1)[0]。(RotateTransform)”中的所有属性引用。验证适用对象是否支持这些属性 这是我的密码 <UserControl.Resources> <Storyboard x:Key="LoaderAnimation"> <DoubleAnima

我正在尝试使用关键帧和情节提要在wpf中使用DoubleAnimationUsingKeyFrames和StoryBoard创建加载程序图像,但出现了此错误 无法解析属性路径“(0)。(1)[0]。(RotateTransform)”中的所有属性引用。验证适用对象是否支持这些属性

这是我的密码

  <UserControl.Resources>
    <Storyboard x:Key="LoaderAnimation">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(RotateTransform)" 
                                   Storyboard.TargetName="canvas" 
                                   RepeatBehavior="Forever">
            <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
            <EasingDoubleKeyFrame KeyTime="0:0:3" Value="360"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
</UserControl.Resources>
 <i:Interaction.Triggers>
    <i:EventTrigger EventName="Loaded">
        <ei:ControlStoryboardAction Storyboard="{StaticResource LoaderAnimation}"/>
    </i:EventTrigger>
</i:Interaction.Triggers>

<Viewbox  x:Name="LayoutRoot" HorizontalAlignment="Left" VerticalAlignment="Top">
    <Canvas x:Name="canvas" Height="323" Width="308"  RenderTransformOrigin="0.5,0.5">
        <Canvas.RenderTransform>
            <TransformGroup></TransformGroup>
        </Canvas.RenderTransform>
        <Ellipse Fill="{Binding Foreground, ElementName=ProgressRing}" 
             Height="71" Canvas.Left="121" Canvas.Top="21" Width="69" Opacity="0.3"/>
        <Ellipse Fill="{Binding Foreground, ElementName=userControl}" 
             Height="71" Width="69" Canvas.Left="194" Canvas.Top="52" Opacity="0.4"/>
        <Ellipse Fill="{Binding Foreground, ElementName=userControl}" 
             Width="69" Height="71" Canvas.Left="221" Canvas.Top="123" Opacity="0.5"/>
        <Ellipse Fill="{Binding Foreground, ElementName=userControl}" 
             Width="69" Height="71" Canvas.Left="190" Canvas.Top="198" Opacity="0.6"/>
        <Ellipse Fill="{Binding Foreground, ElementName=userControl}" 
             Height="71" Canvas.Left="121" Canvas.Top="226" Width="69" Opacity="0.7"/>
        <Ellipse Fill="{Binding Foreground, ElementName=userControl}" 
             Width="69" Height="71" Canvas.Left="48" Canvas.Top="194" Opacity="0.8"/>
        <Ellipse Fill="{Binding Foreground, ElementName=userControl}" 
             Height="71" Width="69" Canvas.Left="17" Canvas.Top="123" Opacity="0.9"/>
        <Ellipse Fill="{Binding Foreground, ElementName=userControl}" 
             Height="71" Width="69" Canvas.Left="48" Canvas.Top="52" Opacity="1.0"/>
    </Canvas>
</Viewbox>

由于要为RotateTransform的
角度属性设置动画,因此目标属性路径应为:

Storyboard.TargetProperty=
    "(UIElement.RenderTransform).(TransformGroup.Children)[0].(RotateTransform.Angle)"
或更短:

Storyboard.TargetProperty="RenderTransform.Children[0].Angle"
但是,您还必须向TransformGroup添加一个实际的RotateTransform实例:

<Canvas.RenderTransform>
    <TransformGroup>
        <RotateTransform />
    </TransformGroup>
</Canvas.RenderTransform>

由于要为RotateTransform的
角度
属性设置动画,因此目标属性路径应为:

Storyboard.TargetProperty=
    "(UIElement.RenderTransform).(TransformGroup.Children)[0].(RotateTransform.Angle)"
或更短:

Storyboard.TargetProperty="RenderTransform.Children[0].Angle"
但是,您还必须向TransformGroup添加一个实际的RotateTransform实例:

<Canvas.RenderTransform>
    <TransformGroup>
        <RotateTransform />
    </TransformGroup>
</Canvas.RenderTransform>
添加内部删除错误谢谢@Clemens添加内部删除错误谢谢@Clemens