Анимация на спине нажата - PullRequest
1 голос
/ 31 марта 2011

Я хочу добавить анимацию при нажатии клавиши «Назад», прежде чем она действительно вернется. Прямо сейчас у меня есть анимация, воспроизводимая внутри метода переопределения для клавиши возврата. Хотя анимация не воспроизводится полностью. Есть ли способ отменить событие возврата и добавить его в событие завершения анимации? Или как лучше всего этого добиться?

1 Ответ

7 голосов
/ 31 марта 2011

Попробуйте это:

protected override void OnBackKeyPress( System.ComponentModel.CancelEventArgs e )
{
  if( NavigationService.CanGoBack() ) {
    // Cancel the navigation
    e.Cancel = true;

    //Create the storyboard
    Storyboard anim = new MyCoolAnimation();

    // Hook an on complete handler
    EventHandler handler = null;
    handler = ( s, e ) => {
      // Navigate backward
      NavigationService.GoBack();

      anim.Completed -= handler;
    };
    anim.Completed += handler;

    // Start the storyboard
    anim.Begin();
  }
}
...