我有一个ListView(如下所示)。我希望当显示的值发生变化时,单元格会闪烁一种颜色(理想情况下一种颜色表示增加,一种颜色表示减少)。
我知道如何编写颜色动画(如下),并且我很确定我需要使用单元格模板,这样我就可以将触发器连接到样式来启动动画。我只是不确定将扳机卡在哪里的最佳位置。
我希望能够连接到 PropertyChanged 事件,但我不确定如何连接。
<ListView ItemsSource="{Binding MyListItems}">
<ListView.View>
<GridView>
<GridViewColumn Header="Value1" Width="50" CellTemplate="{StaticResource Value1CellTemplate}" />
<GridViewColumn Header="Value2" Width="50" DisplayMemberBinding="{Binding Value2}" />
</GridView>
</ListView.View>
</ListView>
单元格模板和颜色动画:
<DataTemplate x:Key="Value1CellTemplate">
<TextBlock Text="{Binding LowerBound}" HorizontalAlignment="Right" />
</DataTemplate>
<Storyboard x:Key="IncreaseValueColourAnimation" Duration="0:0:2">
<ColorAnimationUsingKeyFrames>
<ColorAnimationUsingKeyFrames.KeyFrames>
<LinearColorKeyFrame Value="Red" KeyTime="0:0:0.1" />
<LinearColorKeyFrame Value="Transparent" KeyTime="0:0:2" />
</ColorAnimationUsingKeyFrames.KeyFrames>
</ColorAnimationUsingKeyFrames>
</Storyboard>
最佳答案
我相信您正在寻找 FrameworkElement 之外的 TargetUpdated
事件。
Occurs when the target value changes for any property binding on this element.
然后您应该能够使用 EventTrigger 来运行动画。
关于.net - 当 ListView 单元格中的值发生变化时闪烁颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2379668/