private static void SyncStateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { ListViewItem item = d as ListViewItem; eNoteState oldState = (eNoteState)e.OldValue; eNoteState newState = (eNoteState)e.NewValue; if (oldState == eNoteState.Normal && newState == eNoteState.Changed) { var sb = GetOutOfSyncStoryboard(); sb.Begin(item, item.Template); } else if (oldState == eNoteState.Changed && newState == eNoteState.Syncing) { var sb = GetStartSyncStoryboard(); sb.Completed += (_, __) => { if (GetSyncState(d) == eNoteState.SyncComplete) { RunSyncCompleteStoryboard(d, item); } else { RunSyncingStoryboard(d, item); } }; sb.Begin(item, item.Template); } }
public static void SetSyncState(DependencyObject obj, eNoteState value) { obj.SetValue(SyncStateProperty, value); }