Как анимировать точки ломаной с помощью двойной анимации / pointanimation - PullRequest
1 голос
/ 01 ноября 2011

Предполагая, что у меня есть полилиния, и я хочу переместить только конец полилинии от А до Б, используя анимацию.Как мне это сделать?

p / s: я все же предпочитаю, если это предложение для ломаной линии, а не для других элементов управления, таких как path и т. Д.)

enter image description here

Ответы [ 2 ]

2 голосов
/ 01 ноября 2011

Насколько я знаю, это невозможно из коробки, поскольку вы пытаетесь анимировать Point в пределах PointCollection. Что вам действительно нужно - это PointCollectionAnimation, который не предоставляет WPF. Однако, удивительный Чарльз Петцольд написал эту статью некоторое время назад, показывая вам, как вы можете это сделать.

0 голосов
/ 24 сентября 2017

Поскольку ссылка, указанная в принятом ответе, больше не работает, поэтому я публикую свой подход.

<Path Stroke="Red">
            <Path.Data>
                <GeometryGroup>
                    <LineGeometry x:Name="G1" StartPoint="100,100" EndPoint="100,0"/>
                </GeometryGroup>
            </Path.Data>
            <Path.Triggers>
                <EventTrigger RoutedEvent="Loaded">
                    <BeginStoryboard>
                        <Storyboard>                            
                            <PointAnimationUsingPath Storyboard.TargetName="G1" Storyboard.TargetProperty="EndPoint">
                                <PointAnimationUsingPath.PathGeometry>
                                    <PathGeometry Figures="M 100,0 C 150,50 200,75 250, 100" />
                                </PointAnimationUsingPath.PathGeometry>
                            </PointAnimationUsingPath>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Path.Triggers>
        </Path>
...