所以作为一个简单的例子,如果你有一个像下面那样的ItemsControl动态创建它的内容我怎样才能添加触发器,以便每个项目都有动画效果,并且基于它在列表中的索引具有BeginTime。
我尝试扩展按钮以使其包含延迟时间,然后绑定ControlTemplate按钮触发器中包含的动画的BeginTime,因为动画可以冻结,所以存在问题。
如何在ItemsControl本身或单个项目上创建一个Storyboard,逐个显示每个项目。
有什么想法吗?
我的标记的起点:
<Window.Resources>
<ResourceDictionary >
<Collections:ArrayList x:Key="ItemsList">
<System:String>OPTIONS</System:String>
<System:String>STICKERS</System:String>
<System:String>STYLING</System:String>
<System:String>WHEELS</System:String>
<System:String>INTERIOR</System:String>
<System:String>ROOF</System:String>
<System:String>COLOURS</System:String>
<System:String>VERSION</System:String>
</Collections:ArrayList>
</ResourceDictionary>
</Window.Resources>
<Grid>
<ListView ItemsSource="{StaticResource ItemsList}">
<ListView.Style>
<Style>
<Setter Property="ListView.ItemTemplate">
<Setter.Value>
<DataTemplate>
<Button Content="{Binding}" />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.Style>
</ListView>
</Grid>
干杯 Ĵ
答案 0 :(得分:1)
通过XAML可能无法做到这一点。
相反,在C#代码隐藏中填充ListView,并在代码中创建Storyboard和Triggers。一个想法是将Button扩展为“显示下一个按钮”字段,播放显示动画的故事板,然后触发下一个按钮执行相同的操作,直到到达“NextButton == null”的最后一个按钮< / p>