为什么我的WPF动画只启动一次?

时间:2014-05-15 14:20:27

标签: c# wpf animation

我有一个动画在第一次触发时工作正常,但是当GoNextCmd第二次提升为真时,动画不再启动。这是我的代码:

<ItemsControl DockPanel.Dock="Top" ItemsSource="{Binding ViewCollection}" x:Name="itemsControl">

    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal"></StackPanel>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>

    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <ContentControl Content="{Binding}" Width="500" Name="toMove">
            </ContentControl>
        </DataTemplate>
    </ItemsControl.ItemTemplate>

    <ItemsControl.Style>
        <Style TargetType="ItemsControl">
            <Style.Triggers>
                <DataTrigger Binding="{Binding GoNextCmd}" Value="true">
                    <DataTrigger.EnterActions>
                        <BeginStoryboard>
                            <Storyboard>
                                <ThicknessAnimation RepeatBehavior="1x" FillBehavior="Stop" Storyboard.TargetProperty="Margin" By="-250,0,0,0" Duration="0:0:1">
                                    <ThicknessAnimation.EasingFunction>
                                        <QuinticEase EasingMode="EaseInOut" />
                                    </ThicknessAnimation.EasingFunction>
                                </ThicknessAnimation>                               
                            </Storyboard>
                        </BeginStoryboard>
                    </DataTrigger.EnterActions>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </ItemsControl.Style>

</ItemsControl>

有人知道一些事情吗?

1 个答案:

答案 0 :(得分:0)

我不确定你的命令是什么意思上升为true但是使用DataTriggers你应该使用INotifyPropertyChanged属性(以及使用setter时上升的PropertyChanged)。