如何在情节提要中设置椭圆的Targetproperty
本文关键字:设置 Targetproperty | 更新日期: 2023-09-27 18:22:37
我正在wpf C#中学习故事板。我已经参考了故事板上的msdn文档。为了便于理解,我创建了一个简单的应用程序,它只旋转一个椭圆。
这是我的密码。。
<Ellipse Name="myEllipse" Width="200" Height="200" Margin="266,42,51,78"
RenderTransformOrigin="0.5,0.5" >
<Ellipse.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="0"/>
<TranslateTransform/>
</TransformGroup>
</Ellipse.RenderTransform>
<Ellipse.Fill>
<ImageBrush ImageSource="circle.gif"></ImageBrush>
</Ellipse.Fill>
</Ellipse>
// Button to animate the ellipse
<Button Width="60" Height="20" Margin="0,250,0,0" Content="Start">
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="myEllipse"
Storyboard.TargetProperty="Angle"
From="0" To="360"
AutoReverse="True"
RepeatBehavior="Forever">
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
我想将椭圆的旋转变换角度设置为双动画目标属性。由于角度不是椭圆的一个属性,它抛出了一个异常。然后我搜索SO,发现了一个类似的问题,并设置targetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)"
但这也没用。如何将角度设置为targetproperty
?
提前谢谢。。
为了制作
Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)"
或简称
Storyboard.TargetProperty="RenderTransform.Angle"
工作时,必须将RenderTransform
属性从TransformGroup
更改为RotateTransform
:
<Ellipse.RenderTransform>
<RotateTransform Angle="0"/>
</Ellipse.RenderTransform>
如果你需要保留TransformGroup
,你必须写
Storyboard.TargetProperty="RenderTransform.Children[2].Angle"