如何在运行动画后导航到另一个页面

时间:2012-11-17 20:56:06

标签: c# windows-phone-7

基本上我在页面上有几个按钮,当用户点击其中一个按钮时,应用程序必须运行动​​画,然后导航到第二个页面,其中包含存储在查询字符串中的按钮名称

 private void Button1_Click(object sender, RoutedEventArgs e)
        {
            myAnimation.Begin();
            myAnimation.Completed += new EventHandler(myAnimation_Completed);

        }

        void myAnimation_Completed(object sender, EventArgs e)
        {
             //If Button1 was clicked
            NavigationService.Navigate(new Uri("/nextPage.xaml?id=Button1",UriKind.Relative));

             //If Button2 was clicked
            NavigationService.Navigate(new Uri("/nextPage.xaml?id=Button2",UriKind.Relative));

             //etc
        }

我不知道我可以用于IF语句的条件。

编辑:通过将事件声明更改为

来管理以解决导航问题
myAnimation.Completed += new EventHandler((a,b) => MyAnimation_complete(sender, e)); 

但现在我无法导航回来,当我点击第二页的后退按钮时,我会转到第一页,但我找不到任何控件。注意“MyAnimation”只是一个过渡动画也可能会有所帮助

3 个答案:

答案 0 :(得分:2)

你可以尝试:

  

myAnimation.Completed + = new EventHandler((sender,e)=>   MyAnimation_complete(发件人,e);

通过这种方式,您可以从您的e变量中获取信息,并以这种方式处理您的按钮。

答案 1 :(得分:1)

只需创建bool变量,如果单击按钮1,则设置为true;如果按钮2,则设置为false(如果有更多按钮,则设置为int)

答案 2 :(得分:1)

为什么不使用lambda表达式

private void Button1_Click(object sender, RoutedEventArgs e)
    {
        myAnimation.Begin();
        myAnimation.Completed += (s,ev)=>
          {
           NavigationService.Navigate(new Uri("/nextPage.xaml?id=Button1",UriKind.Relative));
          };

    }

Button2的相同内容