none
silverlight中嵌入html 页面 RRS feed

  • 问题

  • 最近在做一个项目时,老板让在silverlight中嵌入原来html页面。我用到htmlhost控件,但是该控件效果不好,就是嵌入的html页面会浏览器窗口的变化而变化。即浏览器窗口大小变化后,该内嵌页面会跟着左移、右移或者上移、下移,是否是该控件的问题?我试了其它控件也有这样的问题。知道这个问题的请解答一下,谢谢。
    2011年8月2日 11:58

答案

  • 你好,

    首先要说的是当前Silverlight版本不支持在Silverlight内容里添加HTML内容(除非是使用第三方控件或OOB中使用WebBrowser控件)。

    你说第一列和第二列放置Silverlight内容,其实你也可以在第一列和第三列放置。这样就可以满足你老板的需求了。

    你要做的是创建两个Silverlight应用程序(分别放置在第一列和第三列中),然后在<object>标签中的赋值相应的Silverlight路径,如:

    在第一列:

    <param name="source" value="ClientBin/Silverlight1.xap" />

    第三列

    <param name="source" value="ClientBin/Silverlight2.xap" />

     


    Daoping Liu - MSFT
    • 已标记为答案 Bing珂 2011年8月9日 6:51
    2011年8月5日 3:02
    版主

全部回复

  • 你好

    或者你可以嘗試到以下Silverlight版塊上發問
    應該可以更快找到解決方法的

    Silverlight 技术

    Please correct me if my concept is wrong

     


    Chi
    2011年8月2日 20:17
  • 最近在做一个项目时,老板让在silverlight中嵌入原来html页面。我用到htmlhost控件,但是该控件效果不好,就是嵌入的html页面会浏览器窗口的变化而变化。即浏览器窗口大小变化后,该内嵌页面会跟着左移、右移或者上移、下移,是否是该控件的问题?我试了其它控件也有这样的问题。知道这个问题的请解答一下,谢谢。
    2011年8月3日 6:43
  • 最近在做一个项目时,老板让在silverlight中嵌入原来html页面。我用到htmlhost控件,但是该控件效果不好,就是嵌入的html页面会浏览器窗口的变化而变化。即浏览器窗口大小变化后,该内嵌页面会跟着左移、右移或者上移、下移,是否是该控件的问题?我试了其它控件也有这样的问题。知道这个问题的请解答一下,谢谢。
    2011年8月3日 6:43
  • 你好,

    Silverlight的宿主本来就是HTML页面(或者其它页面,如 .aspx 页面 ),通过<object> 标签嵌入到网页中的。

    所以你想要在网页中既有Silverlight内容,又有HTML内容,只需调整Silverlight内容的宽、高和位置(通过调整<object>标签),使它不至于填满整个网页。然后你再用网页其它位置去放置你所要的HTML内容即可。

    有关Silverlight与网页集成更多的信息,请参阅以下文档:

    http://msdn.microsoft.com/zh-cn/library/cc838145%28v=VS.95%29.aspx 


    Daoping Liu - MSFT
    2011年8月5日 2:09
    版主
  • 你好,

    恩,是的,这个我知道,开始是这样设计的。该页面分成三列,第一列和第三列是silverlight页面,中间是一个第三方控件,可以嵌入html或者asp页面,但是这个控件不完善,存在问题。所以,后来又改成这样设计,第一列和第二列使用xaml写成的silverlight内容,并且调整了它的宽、高、位置,第三列放置一个div和IFrame,用来承接收html或者aspx页面的。但是这样与老板原来计划的页面布局不同,老板原来让用第一个那样的布局,现在由于那个问题,只有先用这样的布局了。如果用第一个布局,我感觉在技术方面,silverlight与html或者aspx交互方面可能还有点不足,希望微软可以弥补这个缺陷。这只是我的个人看法。

    谢谢!!!

    2011年8月5日 2:39
  • 你好,

    首先要说的是当前Silverlight版本不支持在Silverlight内容里添加HTML内容(除非是使用第三方控件或OOB中使用WebBrowser控件)。

    你说第一列和第二列放置Silverlight内容,其实你也可以在第一列和第三列放置。这样就可以满足你老板的需求了。

    你要做的是创建两个Silverlight应用程序(分别放置在第一列和第三列中),然后在<object>标签中的赋值相应的Silverlight路径,如:

    在第一列:

    <param name="source" value="ClientBin/Silverlight1.xap" />

    第三列

    <param name="source" value="ClientBin/Silverlight2.xap" />

     


    Daoping Liu - MSFT
    • 已标记为答案 Bing珂 2011年8月9日 6:51
    2011年8月5日 3:02
    版主
  • 你好,

    按道理你说的创建 两个Silverlight应用程序应该可以实现第一种布局效果,我没有这样做过。我先把第二种布局让老板看一下行吗,有时间我再试试你说的那种方法。你谈到WebBrowser控件,这个控件我知道,它是在浏览器外运行的,我们的程序不需要在浏览器外运行,要在浏览器内运行。

    谢谢!!!

    2011年8月5日 6:06
  • 你好,

    已经把第二种布局让老板看了,老板说那种布局不可以,还是用第一种布局。现在老板的意思是在第一种布局情况下,分成三个独立的块,第一列和第三列是用silverlight,第二列用Iframe嵌入原来的html或者asp页面,我想,只要调整宿主页面的布局以及每一列的大小,应该可以实现那样的效果吧。

    谢谢!!!

    2011年8月8日 4:19