调整对象标记的大小以适合silverlight内容

时间:2011-06-27 10:33:12

标签: c# javascript html silverlight

我遇到以下问题:

我有一个托管silverlight内容的网页。 silverlight内容是导航识别的,因此它将始终是相同的html页面和相同的silverlight控件。然而,当用户从控件内的一个页面导航到另一个页面时,内容当然会改变。 不同的页面具有不同的大小要求,在某些情况下,内容的最终高度未知,因为内容来自Web服务。

我希望silverlight内容的高度根据实际需要动态生成。我看到许多解决方案使Silverlight控件适合浏览器窗口,但我希望silverlight内容只有它需要的实际高度并在必要时溢出,以便我可以使用浏览器滚动条。

该页面还应该有一个静态背景图像,当对象标记与silverlight内容的大小不完全时,这会给我一些问题。

我想要实现的效果或多或少像在这个网页中: http://www.codegarden.de/

背景应该尽可能在html页面中,silverlight控件应该是中间部分的内容,并且应该使用浏览器滚动条滚动。

任何人都可以帮助我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您可以让您的silverlight应用程序在托管页面上执行javascript命令,然后依次设置<Object>标记的大小。

类似的东西:

using System.Windows.Browser; 

// set a global variable
HtmlPage.Window.Eval(String.Format("setSilverlightObjSize({0},{1});",newW,newH)); 

其中setSilverlightObjSize是您在托管页面中编写的javascript函数。

像以下一样:

function SetObjectTagProps(w,h)
{
    var obj = document.getElementById("silverlightObj");
    obj.width = w;
    obj.height = h;
}