1

我有以下 xaml

<DataGrid Name ="TheGrid" Margin="0,21,0,0" DataContext ="{Binding StreamItems}"    ItemsSource="{Binding}" CanUserReorderColumns="True" CanUserResizeColumns="True" 
      CanUserResizeRows="False" CanUserSortColumns="True" AutoGenerateColumns="False" RowHeight="21">
        <DataGrid.Resources>
            <Style TargetType="DataGridCell" x:Key="FlashStyle">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding CurrentState}" Value="Idle" >
                        <DataTrigger.EnterActions>
                            <BeginStoryboard>
                                <Storyboard x:Name="BlinkIdle" >
                                    <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)">
                                        <DiscreteColorKeyFrame Value="DarkOrchid" KeyTime="0:0:0" />
                                        <DiscreteColorKeyFrame Value="DarkOrchid" KeyTime="0:0:5" />
                                        <LinearColorKeyFrame Value="Transparent" KeyTime="0:0:8" />
                                    </ColorAnimationUsingKeyFrames>
                                </Storyboard>
                            </BeginStoryboard>
                        </DataTrigger.EnterActions>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding CurrentState}" Value="Streaming" >
                        <DataTrigger.EnterActions>
                            <BeginStoryboard>
                                <Storyboard x:Name="BlinkStreaming">
                                    <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)">
                                        <DiscreteColorKeyFrame Value="DarkGreen" KeyTime="0:0:0" />
                                        <DiscreteColorKeyFrame Value="DarkGreen" KeyTime="0:0:5" />
                                        <LinearColorKeyFrame Value="Transparent" KeyTime="0:0:8" />
                                    </ColorAnimationUsingKeyFrames>
                                </Storyboard>
                            </BeginStoryboard>
                        </DataTrigger.EnterActions>
                    </DataTrigger>
              </Style.Triggers>
            </Style>
        </DataGrid.Resources>

我遇到的问题是,当我滚动或用户对列进行排序时,动画是触发器。当数据发生变化时,我如何告诉动画只触发一次?

4

0 回答 0