-4

double fromH, double toH, UIElement control何らかの方法でAnimateHメソッドに渡す必要が sb.Completedありますが、エラーが発生しました

「toW」という名前は、現在のコンテキストの問題には存在しません

や。。など..

どうすれば修正できますか?

ありがとうございました!

 void AnimateTop(double from, double to, double fromH, double toH, UIElement control)
        {
            Debug.WriteLine("EFM - AnimateTop - from: " + from.ToString() + " to: " + to.ToString());
            Storyboard sb = new Storyboard();
            DoubleAnimation da = new DoubleAnimation();
            da.From = from;
            da.To = to;
            da.Duration = new Duration(TimeSpan.FromSeconds(1));
            sb.Children.Add(da);
            Storyboard.SetTargetProperty(da, new PropertyPath("(Canvas.Top)"));
            Storyboard.SetTarget(da, control);
            sb.Completed += (w, r) => 
            { 
                AnimateH(fromW, toW, control); // Here is the error
                control.UpdateLayout(); 
            };
            sb.Begin();
        }
4

3 に答える 3

1

使用していますtoWが、どこにも宣言されていないか、パラメーターとして渡されていません

別の場所から取得した値の場合は、パラメーターとして渡す必要があります。そこの何らかのメソッドから作成された値である場合は、型を宣言してその値を取得する必要があります

TypeOftoW toW = MethodThatReturntoWValues();

使用する前に。

于 2012-08-24T13:44:59.083 に答える
1

toメソッドはandという名前のパラメーターを受け入れますtoHが、toW. クラスのグローバル変数でない限り、どこにも宣言されていません (グローバル変数の場合、エラーは発生しません)。

fromW現在のコンテキストにも存在しないため (グローバルでない限り)、についても同様のエラーが表示されるはずです。

于 2012-08-24T13:45:45.330 に答える
1

いくつかのメモ:

  1. toW という名前の変数を使用しています (ちなみに、それ自体は非常に不適切な名前です。頭字語を変数名として使用する場合は、シナリオによってはすべて小文字またはすべて大文字を使用してください)。とにかく、toWは存在しません。おそらくtoHを探しているでしょう。
  2. コードを知らない人が読んで理解できるように、常に変数に名前を付ける必要があります。
  3. fromこれは正式な名前ですが、LINQ キーワードでもあるため、変数名としては使用しません。
于 2012-08-24T13:50:04.527 に答える