データ テンプレート内にストーリーボードがあります。特定の条件でのみ開始したい。私の場合はいつでもいいえ。クロックの秒数は 59 で、ストーリーボードを開始する必要があります。
以下に、ストーリーボードと、アニメーションが適用されるコントロールを示します。
<!-- Minute Hand -->
<Image
Source="{Binding Time, Converter={StaticResource MinHandBackground}}"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Canvas.Left="118"
Canvas.Top="118">
<Image.RenderTransform>
<TransformGroup>
<TranslateTransform
X="-11"
Y="-90" />
<RotateTransform
x:Name="minHandTransform" />
</TransformGroup>
</Image.RenderTransform>
<Image.Triggers>
<EventTrigger
RoutedEvent="Image.Loaded">
<BeginStoryboard>
<Storyboard
x:Name="myStoryboard2">
<DoubleAnimation
x:Name="minuteAnimation"
Storyboard.TargetName="minHandTransform"
Storyboard.TargetProperty="Angle"
Duration="0:0:1"
From="{Binding Time, Converter={StaticResource minuteHandTransform}}"
To="{Binding Time, Converter={StaticResource minuteHandToTransform}}"
RepeatBehavior="1x">
<DoubleAnimation.EasingFunction>
<SineEase
EasingMode="EaseOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Image.Triggers>
</Image>
現在、BeginStoryboard はロード時にすぐに開始します。秒数が59のときに開始したいのですが、コントロールがデータテンプレート内にあるため、バックエンドでストーリーボードにアクセスできません。
誰でもここで私を助けてくれませんか.....私はこの問題について何日も頭を悩ませてきました!!