1

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

 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”只是一个过渡动画也可能会有所帮助。

4

3 回答 3

2

你可以试试:

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

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

于 2012-11-17T21:23:34.950 回答
1

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

于 2012-11-17T21:02:52.707 回答
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 相同

于 2012-11-17T21:59:36.240 回答