我想重构我的动画代码并传递动态类型,但在Silverlight中它不起作用。
private void Animate(dynamic o)
{
double op = (o.Opacity == 1) ? 0 : 1;
DoubleAnimation da = new DoubleAnimation();
Duration d = new Duration(TimeSpan.FromSeconds(2));
da.Duration = d;
Storyboard sb = new Storyboard();
Storyboard.SetTarget(da, o);
Storyboard.SetTargetProperty(da, new PropertyPath("(Opacity)"));
sb.Duration = d;
sb.Children.Add(da);
da.To = op;
sbid = Guid.NewGuid().ToString();
LayoutRoot.Resources.Add(sbid, sb);
sb.Begin();
}
我在using指令中有System.Dynamic并收到以下错误:
编译所需的一种或多种类型 无法找到动态表达式。 你错过了对它的引用吗? Microsoft.CSharp.dll和 System.Core.dll?
我尝试将System.Dynamic dll引用到项目中,但Silverlight中不允许这样做。任何其他铸造到适当类型的想法?