【发布时间】:2018-08-11 08:34:47
【问题描述】:
我试图在第一次点击时将按钮内的字体图标旋转 90°,在第二次点击时旋转回 0°。
目前我有:
<Page.Resources>
<Storyboard x:Name="RotateButton90Degrees">
<DoubleAnimation
EnableDependentAnimation="True"
Storyboard.TargetName="ShowSubTasks_ButtonRotateTransform"
Storyboard.TargetProperty="Angle"
From="0"
To="90"
Duration="350" />
</Storyboard>
</Page.Resources>
<Button
x:Name="ShowSubTasks_Button"
Background="Transparent">
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Click">
<media:ControlStoryboardAction Storyboard="{StaticResource RotateButton90Degrees}" />
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
<FontIcon
FontFamily="Segoe MDL2 Assets"
Glyph=""
RenderTransformOrigin="0.5, 0.5">
<FontIcon.RenderTransform>
<RotateTransform x:Name="ShowSubTasks_ButtonRotateTransform" />
</FontIcon.RenderTransform>
</FontIcon>
</Button>
问题是当我单击按钮时应用程序崩溃(它没有找到 ShowSubTasks_ButtonRotateTransform)。二是不知道第一次点击后如何恢复旋转效果(第一次点击->90°,第二次点击->0°,第三次点击->90°等等)。
任何帮助将不胜感激。
【问题讨论】:
-
您需要创建两个 Storyboard,并在附加变量的帮助下记住是从 0->90 还是 90->0 旋转并相应地调用 Storyboard。参考this