1

基本的に、ページにはいくつかのボタンがあります。ユーザーがボタンの1つをクリックすると、アプリケーションはアニメーションを実行し、クエリ文字列に格納されているボタンの名前で2番目のページに移動する必要があります。

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

しかし、現在、戻るのに問題があります。2ページ目から戻るボタンをクリックすると、最初のページに移動しますが、そこにコントロールが見つかりません。「MyAnimation」は単なる遷移アニメーションであることに注意してください。

4

3 に答える 3

2

あなたは試すことができます:

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

このようにして、e 変数から情報を取得し、この方法でボタンを処理できます。

于 2012-11-17T21:23:34.950 に答える
1

ボタン1がクリックされた場合はtrueに設定され、ボタン2がクリックされた場合はfalseに設定されるbool変数を作成するだけです(またはボタンが複数ある場合はint)

于 2012-11-17T21:02:52.707 に答える
1

ラムダ式を使用しない理由

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 に答える