WPFでRectangleをフェードイン/フェードアウトするDoubleAnimationがあります
<Canvas>
<Rectangle Height="150" Width="150">
<Rectangle.Fill>
<SolidColorBrush x:Name="OpacityBrush" Color="DarkBlue" />
</Rectangle.Fill>
<Rectangle.Triggers>
<EventTrigger RoutedEvent="Rectangle.Loaded">
<BeginStoryboard>
<StoryBoard>
<DoubleAnimation Storyboard.TargetName="OpacityBrush" Storyboard.TargetProperty="Opacity" From="0.0" To="0.6" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever" />
<DoubleAnimation Storyboard.TargetName="OpacityBrush" Storyboard.TargetProperty="Opacity" From="0.6" To="0.0" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever" />
</StoryBoard>
</BeginStoryboard>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
</Canvas>
これは正常に機能しますが、長方形が表示されている場合にのみこれを実行したいと考えています。現在、ロード時にバックグラウンドでアニメーション化されます(私は推測します)。
アニメーションが表示されているときにアニメーションを開始し、非表示/折りたたみ時に停止するように変更するにはどうすればよいですか?
それとも関係ありませんか?アプリケーションには多くの長方形があり、ほとんどの場合それらは隠されているため、(アニメーション用に) リソースを消費するのではないかと心配しています。
ありがとう。