我有一个具有以下结构的列表框。数据显示良好,没有问题。我想为StackPanel获得一些动画效果,但由于它在DataTemplate中,我无法使用Blend来获得我想要的动画效果。
我想我可以编写一个事件处理程序和代码,但这是实现ListBox项目动画的最佳方法吗?
<ListBox Height="600" ItemsSource="{StaticResource learn}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Height="100" Orientation="Horizontal">
<TextBlock Width="0" Text="{Binding ID}" />
<Image Height="100" Width="100"/>
<StackPanel Orientation="Vertical" Width="319" VerticalAlignment="Center">
<TextBlock TextWrapping="Wrap" Text="{Binding Text}" Margin="6,0,0,0" FontSize="29.333" />
<TextBlock TextWrapping="Wrap" Text="{Binding Description}" Margin="6,0,0,0" FontSize="16"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
答案 0 :(得分:0)
好的,您需要做的就是创建一个新的用户控件并将所有动画添加到该用户控件并在您想要的位置开始动画。在列表框数据模板中,创建该数据模板的实例。
重现的步骤:
替代方法:无需创建新的用户控件,您可以通过创建故事板并应用所需的转换来指定动画。这为所有列表框项目提供了一个公共动画。