У меня есть MetroTile с периодической анимацией (написанной на языке C#) и DataGrid. Когда сетка имеет ошибки проверки, команда CanExecute() команды tile в режиме просмотра возвращает false
, а плитка отключена.Каков наилучший способ подождать окончания анимации в MVVM?
Это код анимации выполняется в методе тиков таймера:
DoubleAnimation db = new DoubleAnimation(startStopTile.ActualHeight, 0, TimeSpan.FromSeconds(0.5));
db.FillBehavior = FillBehavior.Stop;
startStopTile.BeginAnimation(HeightProperty, db);
Проблема заключается в том, что плитка может быть отключена во время анимации и замерзает в середине. Каков наилучший способ дождаться завершения анимации до того, как плитка отключится?
Я думал, что я мог бы обновить ViewModel свойство (т.е. bool AnimationCompleted
), когда анимация заканчивается и ждать в цикле, а в CanExecute() для того, чтобы превратить true
, но я не уверен, что это лучший подход ,