後、私はWPFアプリケーションで、次のような状況を持っている:バックブール型プロパティをリセットXAMLアニメーション
私は新しいアイテムや編集のものすることができ、ソケットからプッシュされ、いくつかのデータをしました。
アイテムが更新されると、私は点滅する行を持ってきた、これは実際にはboolean型プロパティを使用して行われるが、私は、次のDataTrigger
<Style TargetType="{x:Type telerik:GridViewCell}" x:Key="Style"> <Style.Triggers> <DataTrigger Binding="{Binding IsChanged}" Value="True"> <DataTrigger.EnterActions> <RemoveStoryboard BeginStoryboardName="Highlight" /> <BeginStoryboard Name="Highlight"> <Storyboard> <ColorAnimation Duration="00:00:03" From="Red" FillBehavior="Stop" Storyboard.TargetProperty="(Control.Background).(SolidColorBrush.Color)" /> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions> </DataTrigger> </Style.Triggers>
をしました
をISCHANGED
次のスタイルは、CellStyleSelectorを使用してRadGridViewの各行に適用されます。現在、私は、私は偽
public override Style SelectStyle(object item, DependencyObject container)
{
if (item is INotifyUpdate notifyUpdate)
{
//First I check if the cell has to blink
if (notifyUpdate.IsChanged)
{
notifyUpdate.IsChanged = false;
}
...
}
に値をリセットインターフェイスを持っているHACKとしてそれを考える - 私の問題は、それ以外の場合は設定しています、私は偽の値をリセットするために、このハックを実行してきたということです真実と戻って戻ったことはありません。その結果、別の行が更新され、グリッドがリフレッシュされると、私は再び点滅するように更新された行を取得します。
false値をfalseに戻す方法はありますか?
私は最初にすべてのデータが読み込まれたときに最初の読み込みで何が起こるのですか? – advapi
すべてのアニメーションが表示されます。あなたがしたくない場合は、添付されたプロパティまたは 'Behavior'を使って' NotifyOnTargetUpdated'プロパティを 'false'に初期設定します。 – dymanoid
サンプルを提供していただけますか?各バインドでNotifyOnTargetUpdatedを設定する必要がありますか? – advapi