我需要以某种方式将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();
}
答案 0 :(得分:1)
您正在使用toW
,但未在任何地方声明
或作为参数传递
如果它是来自其他地方的值,则应作为参数传递。如果它是从某个方法创建的值,则应声明类型并获取其值
TypeOftoW toW = MethodThatReturntoWValues();
使用前。
答案 1 :(得分:1)
该方法接受名为to
和toH
的参数,但绝不接受toW
。除非它是你班级中的全局变量,否则不会在任何地方声明(如果它是全局的,你就不会收到错误)。
您还应该看到fromW
的类似错误,因为它在当前上下文中也不存在(同样,除非它是全局的)。
答案 2 :(得分:1)
只是几点说明:
from
用作变量名,因为它也是一个LINQ关键字。