繁体   English   中英

在Silverlight 4中制作动画的最佳方法?

[英]Best way to do this animation in Silverlight 4?

我正在Silverlight中构建Windows Phone 7应用程序。

我在ListBox有一个内容ListBox 当用户按下按钮时,“删除”图标应出现在列表中每个项目的旁边。 理想情况下,列表项将滑过,并且图标将被动画化。

我不确定执行此操作的最佳方法是什么。 我不熟悉Silverlight中的动画。 一种方法:为ListBox制作一个数据模板,其中包括图标和实际内容。 如果用户单击按钮,请切换图标的可见性。 将事件处理程序附加到要点击的图标。 (我不确定如何将动画制作成这样。)

还是有另一种方法可以使这项工作?

更新 :好的,我有一个不错的动画,内容可以在其中滑动。 但是,我想为列表中的每个项目添加一个图标。 我怎样才能做到这一点?

<VisualStateManager.CustomVisualStateManager>
            <ic:ExtendedVisualStateManager/>
        </VisualStateManager.CustomVisualStateManager>
        <VisualStateManager.VisualStateGroups>
            <VisualStateGroup x:Name="EditingStates">
                <VisualStateGroup.Transitions>
                    <VisualTransition GeneratedDuration="0:0:1"/>
                </VisualStateGroup.Transitions>
                <VisualState x:Name="Editing">
                    <Storyboard>
                        <DoubleAnimation Duration="0" To="60" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="pivotItem" d:IsOptimized="True"/>
                    </Storyboard>
                </VisualState>
                <VisualState x:Name="NotEditing">
                    <Storyboard>
                        <DoubleAnimation Duration="0" To="0" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="pivotItem" d:IsOptimized="True"/>
                    </Storyboard>
                </VisualState>
            </VisualStateGroup>
        </VisualStateManager.VisualStateGroups>

而且,现在这已被硬编码为特定控件。 如何将其pivotItem为用户当前正在查看的pivotItem

这是VisualStates的“规范”情况-只需创建一个状态为打开图标,状态为一个图标关闭,然后在它们之间切换即可。 状态之间的动画可以非常容易地完成。 我建议您使用Blend for WP7(免费),并以以下视频为起点:

http://expression.microsoft.com/en-us/ee426922.aspx

编辑:

对于问题的第2部分,只需将图标添加到ItemTemplate并使其从外部滑动和/或通过VS动画进行增长(更改宽度/高度)。

您应该将VisualStates添加到ListBox的项目模板中; 这样,您就可以在VS动画中引用控件和图标的正确实例。

在列表框控件中使用情节提要,如果您不知道如何尝试为Windows Phone 7使用Expression Blend,则只需像Adobe Flash一样添加关键帧即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM