C# XAML-在DataGrid的不同行上同步相同的动画
我使用DataGrid显示集合的一些元素:C# XAML-在DataGrid的不同行上同步相同的动画,c#,wpf,xaml,animation,C#,Wpf,Xaml,Animation,我使用DataGrid显示集合的一些元素: <DataGrid Name="grdItems" ItemsSource="{Binding Path=myItemsList}" [...] 不一定能解决您的确切问题,但可能是一种可以达到预期效果的变通方法: 与其让每一行单独闪烁,不如让DataGrid的背景闪烁?那些不应该设置动画的行可以将其BackgroundColor设置为默认颜色,而设置动画的行可以将其背景设置为透明(以便您可以看到背景) 可能会有一些问题,比如让DataGrid的
<DataGrid Name="grdItems" ItemsSource="{Binding Path=myItemsList}" [...]
不一定能解决您的确切问题,但可能是一种可以达到预期效果的变通方法:
与其让每一行单独闪烁,不如让DataGrid的背景闪烁?那些不应该设置动画的行可以将其BackgroundColor设置为默认颜色,而设置动画的行可以将其背景设置为透明(以便您可以看到背景)
可能会有一些问题,比如让DataGrid的边缘在其闪烁时显示BackgroundColor动画,但这可能值得一试。我自己会运行它,但我没有在这台机器上设置我的环境…如果今晚有机会,我会运行一个测试并再次发布到这里
<DataGrid ... >
<DataGrid.Resources>
<Storyboard x:Key="rowBlink" x:Name="Blink" AutoReverse="True" RepeatBehavior="Forever" Timeline.DesiredFrameRate="40" SpeedRatio="1">
<ColorAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(Background).(SolidColorBrush.Color)">
<EasingColorKeyFrame KeyTime="00:00:01" Value="Orange" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
</DataGrid.Resources>
</DataGrid>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Style.Triggers>
<DataTrigger Binding="{Binding Acked}" Value="False">
<DataTrigger.EnterActions>
<BeginStoryboard x:Name="blinkStoryBoard" Storyboard="{StaticResource rowBlink}" />
</DataTrigger.EnterActions>
</DataTrigger>
<DataTrigger Binding="{Binding Acked}" Value="True">
<DataTrigger.EnterActions>
<StopStoryboard BeginStoryboardName="blinkStoryBoard" />
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>