所有,在这个回答https://stackoverflow.com/a/18136371/626442对上一个问题的回答中,回答为我的动画不触发的问题提供了一个解决方案。代码是
<DataTemplate x:Key="readOnlyCellUpdatedStyle">
<TextBlock Text="{Binding KeyIndex, Mode=TwoWay,NotifyOnTargetUpdated=True}">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Background" Value="White"/>
<Style.Triggers>
<EventTrigger RoutedEvent="Binding.TargetUpdated">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="Background.Color"
Duration="0:0:0.3"
From="White"
To="Red"
RepeatBehavior="3x"
AutoReverse="True"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
KeyIndex
当我通过 ViewModel更新列时,这会触发动画。但是,我只希望在更新值时动画单元格的动画,但在滚动DataGridTextColumn
时它们也会触发。DataGrid
有人建议我
DataGridTextColumn
使用您需要的内置功能创建派生可能是一个更好的选择,因为TargetUpdated
如果您使用虚拟化,使用将几乎是不可能的。但是,如果您进行了自定义DataGridTextColumn
,则应该能够使其正常工作。
如何创建自定义/派生的`DataGridTextColumn(我也可以访问混合)?
我不知道如何做到这一点,而且关于这个特定概念的文档很少。
谢谢你的时间。