ViewModel からの新しい値に応じて、テキスト ボックス (価格) の背景色をアニメーション化したいと考えています。
色は新しい値によって異なります (0 より大きい -> 緑 - 0 より小さい -> 赤)。
私が見ることができる唯一のアニメーションは、新しい値が設定されたときの起動時です。その後、アニメーションは二度と表示されません。
<TextBox HorizontalAlignment="Left" Height="23" Margin="10,178,0,0" TextWrapping="Wrap" Text="{Binding price}" VerticalAlignment="Top" Width="120" x:Name="ChangeField">
<TextBox.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding price, Converter={StaticResource formatter}}" Value="positive">
<DataTrigger.EnterActions>
<StopStoryboard BeginStoryboardName="pos"></StopStoryboard>
<BeginStoryboard x:Name="pos">
<Storyboard>
<ColorAnimation AutoReverse="True" To="Green" Duration="0:0:0:0.100" Storyboard.TargetProperty="(TextBox.Background).(SolidColorBrush.Color)"></ColorAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<RemoveStoryboard BeginStoryboardName="pos"></RemoveStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
価格は 1 秒あたり数回変更される可能性があるため、新しい価格値が設定されたときに実行中のアニメーションを中止する必要があります。