none
在Silverlight中整合HTML页面 RRS feed

  • 常规讨论

  • Silverlight可以用作网站的应用开发。如果你希望Silverlight程序更像一个网站,并具有更强的扩展性,也许我们需要整合HTML页面。接下来的内容,将基于Silverlight 1.0做一些尝试,希望对您有所帮助。

    先看演示(DEMO)

    很酷吧。:D

    原理。看图:

    Silverlight原理结构

    Silverlight程序是以控件的形式嵌入到HTML页面中的,这里是把将要整合的HTML页面利用iframe置于Silverlight控件之上,而不影响Silverlight控件的正常工作。

    要点:

    1.编辑按钮的xaml,定义MouseLeftButtonDown,使按下鼠标左键时,触发相应函数。

    2.在该页面的js文件中,关联按钮。

    1. function On_MouseLeftButtonDown(sender,args){
    2. document.getElementById('iframe').style.visibility = "visible";
    3. }
    4. //开启HTML页面,将名为iframe的隐藏层的visibility属性改为visible显示
    5. function Off_MouseLeftButtonDown(sender,args){
    6. document.getElementById('iframe').style.visibility = "hidden";
    7. }
    8. //关闭HTML页面,将名为iframe的隐藏层的visibility属性改为hidden隐藏

    3.该项目的html文件。

    1. <div id="iframe" style="position:absolute; width:640px; height:450px; z-index:1; left: 10px; top: 45px;visibility:hidden"><iframe scrolling="no" style="position:fixed; width:640px; height:450px;" src="http://www.mdong.org/qdjw" /> </div>
    2. //将iframe嵌入一个div层,并通过调整z-index值与visibility属性将该层置于Silverlight控件层上方并隐藏,以不影响Silverlight程序正常工作。
    3. //调整DIV层的位置大小。

    Code源文件下载

    OVER。

    上述思路有妥协的嫌疑:D,毕竟所有的功能都能由Silverlight自身实现是最完美的。
    但有些情况下,仍不失为一种高效的解决方案。

    2009年5月27日 2:51