我在Silverlight中构建了Windows Phone 7应用程序。在Silverlight 4中执行此动画的最佳方法是什么?
我有一个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
?
你有用于Windows Phone的Expression Blend吗? Blend使创建动画非常简单。 – 2010-11-03 20:01:09
我的确有Expression Blend。 – 2010-11-03 20:33:41
Windows Phone 7没有使用Silverlight 4(在您的问题的标题中提到),而是Silverlight 3中的某些电话特定的添加/排除。 – peSHIr 2010-11-10 14:48:20