WPF多边形情节提要动画

时间:2018-07-14 11:43:56

标签: wpf visual-studio storyboard

尝试从FloatingMusicActionButton制作精确的动画

到目前为止,我的代码:

<Grid Width="128" Height="128" Panel.ZIndex="1">
            <Ellipse Fill="Aqua"></Ellipse>
            <Polygon Fill="LightBlue" Stroke="Black" Name="TriOne" >
                <Polygon.Points>
                    <Point X="44" Y="32"></Point>
                    <Point X="44" Y="64"></Point>
                    <Point X="100" Y="64"></Point>
                    <Point X="100" Y="64"></Point>
                </Polygon.Points>
                <Polygon.Triggers>
                    <EventTrigger RoutedEvent="Polygon.MouseUp">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation 
                                    Storyboard.TargetName="{Binding ElementName=TriOne, Path=Points[0]}"
                                    Storyboard.TargetProperty="X"
                                    From="44" To="32"
                                    />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Polygon.Triggers>
            </Polygon>
            <Polygon Fill="LightBlue" Stroke="Black" Name="TriTwo" >
                <Polygon.Points>

                    <Point X="44" Y="96"></Point> 
                    <Point X="44" Y="64"></Point>
                    <Point X="100" Y="64"></Point>
                </Polygon.Points>
            </Polygon>
        </Grid>

单击多边形后,应用程序进入中断模式:

  

PresentationFramework.dll中发生了'System.InvalidOperationException'类型的未处理异常   在“ System.Windows.Shapes.Polygon”的名称范围中找不到“ 44,32”名称。

我是WPF的新手,如果您知道一种更好的动画多边形方法,请共享一个链接。

1 个答案:

答案 0 :(得分:0)

您的动画无法正常工作,因为X的{​​{1}}属性不是从属属性。

使用Point代替Path并为Polygon设置动画:

PathFigure