我正在开发一个简单的Silverlight应用程序。应用程序是显示从XML文件加载的数据。数据包含字符串“密码”和整数“passwordCount”。每个加载的位置都显示为彩色方块,每当用户将鼠标移到此方块上时,它将调整为“passwordCount / 10”像素宽度或高度,并在其上显示“password”字符串。这是一个例子:
鼠标悬停:
http://i49.tinypic.com/2uiumg0.jpg
如果我通过VisualStudio Run按钮运行它,一切正常。问题在于,当我将脚本放在网站上时,图块会以错误的方向调整大小(它们会变小而不是更大)。文本也不显示。我没有最微弱的想法。网站上的Silverlight在单独的窗口中打开,它看起来像鼠标悬停:
这是我用来为瓷砖设置动画的功能:
public void rectangle_MouseEnter(object sender, MouseEventArgs e)
{
sbMouseON = new Storyboard();
DoubleAnimation sizeAnimation = new DoubleAnimation();
sizeAnimation.To = passwordCount/10; //passwordCount is always greater than 1000
sizeAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(300));
Storyboard.SetTarget(sizeAnimation, (Rectangle)sender);
Storyboard.SetTargetProperty(sizeAnimation, new PropertyPath(direction));
sbMouseON.Children.Add(sizeAnimation);
Canvas.SetZIndex(rect, 2); //move rectangle up to make animation visible
DrawTextBlock();
sbMouseON.Begin();
}
答案 0 :(得分:0)
修改:无法添加评论,因此发布为答案
这里我假设您在TargetProperty中传递的“方向”是“(FrameworkElement.Width)”以增加矩形的宽度。
如果只是这样,对象可以减小的逻辑原因是你设置的“sizeAnimation.To”属性是设置小于对象实际宽度的值。
这个DrawTextBlock()做什么?是否有任何代码可以改变动画的行为?
答案 1 :(得分:0)
问题解决了。我刚刚将所有文件复制到服务器上,效果很好。看起来这是一些Windows问题。感谢您对@Abhinav的兴趣。