基本上我在页面上有几个按钮,当用户点击其中一个按钮时,应用程序必须运行动画,然后导航到第二个页面,其中包含存储在查询字符串中的按钮名称
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”只是一个过渡动画也可能会有所帮助
答案 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的相同内容