2012-11-18 13 views
0

我正在开发一个简单的Silverlight应用程序。应用程序的重点是显示从XML文件加载的数据。数据由字符串“密码”整数“passwordCount”。每个加载位置都显示为彩色正方形,每当用户将鼠标移动到此正方形上时,它将调整为“passwordCount/10”像素的宽度或高度,并在其上显示“密码”字符串。这里有一个例子:从网站运行时Silverlight的行为不同

鼠标悬停:如果我通过VisualStudio的运行按钮,运行它
http://i49.tinypic.com/2uiumg0.jpg

,一切工作正常。问题在于,当我将脚本放在网站上时,拼贴块在错误的方向上调整大小(它们变得更小而不是更大)。文字也不显示。我不知道为什么。网站上的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

MODS的:不能添加评论所以张贴为答案

在这里我假设你正在传递的TargetProperty的“方向”是“(FrameworkElement.Width)”以增加矩形的宽度。

如果是这样的话,那么只有一个对象可以缩小的逻辑原因是你正在设置的“sizeAnimation.To”属性是设置的值小于对象的实际宽度。

DrawTextBlock()在做什么?有没有可以改变动画行为的代码?

0

问题本身就解决了。我刚将所有文件复制到服务器上,效果很好。看起来这是一些Windows问题。感谢您的关注@Abhinav。

相关问题