按下后退键上的动画

时间:2011-03-30 20:20:03

标签: c# .net windows-phone-7 animation

我希望在按下后退键之前添加一个out动画,然后再实际返回。现在我只是在后面键的覆盖方法中播放动画。但它并没有完全播放动画。有没有办法取消后退事件并将其添加到动画完成事件?或者实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:7)

试试这个:

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();
  }
}