Silverlight从网站运行时的行为不同

时间:2012-11-18 17:36:45

标签: c# silverlight storyboard

我正在开发一个简单的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();
    }

2 个答案:

答案 0 :(得分:0)

修改:无法添加评论,因此发布为答案

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

如果只是这样,对象可以减小的逻辑原因是你设置的“sizeAnimation.To”属性是设置小于对象实际宽度的值。

这个DrawTextBlock()做什么?是否有任何代码可以改变动画的行为?

答案 1 :(得分:0)

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