0

MainMenuと2つのアニメーション(ZoomInとZoomOut)を作成しました。MainMenuはCanvasで埋められ、それぞれにアイコンが含まれます。私がやろうとしているのは、ボタンをクリックすると、現在表示されているパネルがZoomOutで消え、クリックしたPanelがZoomInで表示されることです。

これまでのところ、これを使用してコードビハインドからアニメーションを呼び出すことができました。

Dim ZoomOut As Storyboard = DirectCast(FindResource("storyZoomOut"), Storyboard)
    ZoomOut.Begin()

しかし今、私は特定のコントロールをアニメートしたいと思っています。また、2つの異なるコントロールを同時にアニメーション化することは可能ですか?Canvas1ZoomOutとCanvas2ZoomInを同時に好きですか?

<Storyboard x:Key="storyZoomOut">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="pnlCompras">
            <EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="0.8"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="0.6"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="0.4"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="0.2"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="0.0"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="pnlCompras">
            <EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="1.04"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1.09"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="1.15"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1.3"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="pnlCompras">
            <EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="1.04"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.2" Value="1.09"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.3" Value="1.15"/>
            <EasingDoubleKeyFrame KeyTime="0:0:0.4" Value="1.3"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)" Storyboard.TargetName="pnlCompras">
            <EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="0"/>
        </DoubleAnimationUsingKeyFrames>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)" Storyboard.TargetName="pnlCompras">
            <EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="0"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>

助けてくれてありがとう!

4

2 に答える 2

1

Storyboard.TargetName="pnlCompras"ストーリーボードのすべてのアニメーションから設定を削除し、Storyboard.Begin(FrameworkElement)によって任意のコントロールでストーリーボードを実行できます。

Dim ZoomOut As Storyboard = DirectCast(FindResource("storyZoomOut"), Storyboard)
ZoomOut.Begin(someControl)
于 2013-03-16T16:33:05.913 に答える