我的客户端应用中有以下ItemsControl
:
<ItemsControl ItemsSource="{Binding ExecutedOrders}"
ItemsPanel="{StaticResource panel}"
Template="{StaticResource cpanel}"
ScrollViewer.CanContentScroll="True"
Background="AliceBlue">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel x:Name="Outer" Margin="5">
<StackPanel HorizontalAlignment="Right" Width="100">
<StackPanel.Resources>
<Style TargetType="TextBlock">
<Setter Property="Foreground" Value="{Binding UpDownOrNone,Converter={StaticResource TCC}}"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
</StackPanel.Resources>
<TextBlock Text="{Binding ItemName}"/>
<TextBlock Text="{Binding QtyTraded,StringFormat=N0}"/>
<TextBlock>@Tk. <Run Text="{Binding Price,StringFormat=N2}"/></TextBlock>
</StackPanel>
</StackPanel>
<DataTemplate.Resources>
<Storyboard x:Key="Appear">
<DoubleAnimationUsingKeyFrames
Storyboard.TargetName="Outer"
Storyboard.TargetProperty="Width">
<EasingDoubleKeyFrame KeyTime="0" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="100"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</DataTemplate.Resources>
<DataTemplate.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard Storyboard="{StaticResource Appear}"/>
</EventTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
服务器在客户端连接时一次发送一个已执行的事务,并且在客户端将插入的那些项目设置为动画。服务器维护事务列表,如果客户端延迟连接并且服务器拥有列表,则服务器首先发送该事务列表,然后继续一次发送一个项目。当客户收到(例如1,050个)交易清单时,所有这些交易都将花费很长时间!
我想要禁用Appear
动画,以便最多插入前1000个项目,其余50个项目以及以后,我希望动画继续进行。该怎么做?