1

このアニメーションを機能させることはできません:

        <Ellipse Opacity="0.7" Width="150" Height="50" StrokeThickness="5">
        <Ellipse.Triggers>
                <EventTrigger RoutedEvent="FrameworkElement.Loaded">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard RepeatBehavior="Forever" AutoReverse="True">
                                <DoubleAnimation From="0" To="100" Duration="0:0:2" Storyboard.TargetProperty="LayoutTransform.Y" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
        </Ellipse.Triggers>
    </Ellipse>

基本的にEllipseはYの始点からYの終点に変換されますが、基本的には動かず、ミスを起こします…何かアイデアはありますか?

4

2 に答える 2

2

をアニメーション化してLayoutTransformも、オブジェクトは移動しません。探しているのは、RenderTransformプロパティのアニメーションです。

TranslateTransformをに入れてEllipse.RenderTransform変更する必要がありますStoryboard.TargetProperty

<Ellipse Opacity="0.7" Width="150" Height="50" StrokeThickness="5" Stroke="Black">
    <Ellipse.RenderTransform>
        <TranslateTransform />
    </Ellipse.RenderTransform>
    <Ellipse.Triggers>
        <EventTrigger RoutedEvent="FrameworkElement.Loaded">
            <EventTrigger.Actions>
                <BeginStoryboard>
                    <Storyboard RepeatBehavior="Forever" AutoReverse="True">
                        <DoubleAnimation From="0" To="100" Duration="0:0:2"
                            Storyboard.TargetProperty="RenderTransform.Y" />
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger.Actions>
        </EventTrigger>
    </Ellipse.Triggers>
</Ellipse>
于 2013-01-23T10:02:36.263 に答える
1

単純にするために、省略記号をキャンバスに配置できます。

 <Canvas>
            <Ellipse Width="30" Height="30" Fill="Purple" Canvas.Top="0" >
                <Ellipse.Triggers>
                    <EventTrigger RoutedEvent="FrameworkElement.Loaded" >
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation Duration="0:0:5"  AutoReverse="True" Storyboard.TargetProperty="(Canvas.Top)" To="100" RepeatBehavior="Forever" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Ellipse.Triggers>
            </Ellipse>
        </Canvas>
于 2013-01-23T10:13:36.607 に答える