ストーリーボードアイテムを画面に表示する場所の垂直方向のしきい値を設定する方法があるかどうか(スライドインおよびスライドアウトする場合)、画面上のすべてをスライドする必要がないようにする方法があるかどうか疑問に思っています飛び出しています。タイマーイベントによって反転するアイテムのリストがありますが、アイテムが画面に表示されると、他のすべてのボタンとユーザーコントロールを通過し、あまりきれいに見えません。アイテムが背景から滑り落ちて所定の位置に収まるように見せることができればいいのにと思います。
2 つのストーリーボード アニメーションがあります。1 つはオブジェクトのスライドを処理するもので、もう 1 つはスライド アウトする必要がある現在のオブジェクトを処理するものです。コンテンツ領域の両側にも矢印ボタンがあり、現在、オブジェクトが矢印の上をスライドしています。これを排除しようとしています。ストーリーボードのコードは次のとおりです。
<Storyboard x:Key="newsIn" x:Name="newsIn">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="newsContent">
<EasingDoubleKeyFrame KeyTime="0" Value="500"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0">
<EasingDoubleKeyFrame.EasingFunction>
<BounceEase EasingMode="EaseIn" Bounces="0"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="newsOut" x:Name="newsOut">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="newsContent">
<EasingDoubleKeyFrame KeyTime="0" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="-500">
<EasingDoubleKeyFrame.EasingFunction>
<BounceEase EasingMode="EaseIn" Bounces="0"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
これを非常に明確に説明したかどうかはわかりませんが、誰かが以前にこれを行ったことがある場合、またはこれを行う方法を学ぶことができるリソースを知っている場合は、助けていただければ幸いです.
御時間ありがとうございます。
回答:アニメーション化する要素をキャンバス (または何らかのコンテナー) 内に配置し、Clip プロパティを使用して、そのような専用領域内に表示されたときにのみそれらを表示します。
<Canvas Name="newsContent" Grid.Column="1" >
<Canvas.Clip>
<RectangleGeometry Rect="0,0,372,200"/>
</Canvas.Clip>
<Ui element/>
<Ui element2/>
....
</Canvas>