My думаю, означает, что ваш делегат вызывает проблемы:
transition.Completed += delegate
{
transition.Stop();
};
Я предполагаю, что среди всех переключателей контекста потока событие Completed вызывается, пока вытолько о начале следующего перехода к изображению.
Есть несколько вещей, которые вы можете попытаться помочь с этим:
- , безусловно, подписаться на выполненные только один раз за переход
- попробуйте использовать отдельные экземпляры перехода для каждого фактического перехода
- попробуйте защитить кнопку, чтобы она не могла быть нажата во время перехода
- попробуйте позволить переходу остановиться самостоятельно (они неповторить?)
- попробуйте реорганизовать логику перехода, чтобы она не была настолько многопоточной (не уверен, что еще происходит в приложении - я понимаю, что это может быть не совсем возможным, если у вас многодругих событий)
- попробуйте использовать изменения состояния VisualStateManager вместо этих созданных вручную переходов
Не пытайтесь все вместе:)
Конечно, мое предположение может быть неправильным ... это может быть что-то еще ...