我有一个ListBox
将绑定到数据源ItemTemplate
并将成为用户控件的项目。我需要将新项目添加到数据源集合中以动画化/从视野外移入视野。
这就是我所拥有的。(请忽略缺少数据绑定/ ItemTemplate
)我想专注于动画。
<ListBox Width="350" Height="125">
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="LayoutTransform">
<Setter.Value>
<ScaleTransform x:Name="transform"/>
</Setter.Value>
</Setter>
<Style.Triggers>
<EventTrigger RoutedEvent="Loaded">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:5" />
<DoubleAnimation Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)" To="-0"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBoxItem>
<Rectangle Width="320" Height="50" Fill="Green">
<Rectangle.RenderTransform>
<TranslateTransform X="-50"/>
</Rectangle.RenderTransform>
</Rectangle>
</ListBoxItem>
</ListBox>
如果您运行它,您将看到不透明度更改有效。但是,该项目不会动画到 0。如果我添加持续时间,它也不起作用。