您的位置:首页 > 编程语言 > ASP

在Silverlight中嵌入HTML或aspx页面

2011-07-10 11:06 281 查看
有好几次遇到有的同志们问,怎么在Silverlight中嵌入其他页面如:html,aspx或jsp页面,这里写一个简单的使用方法,供大家参考:

下载第三方控件的dll,这里提供一个下载地址:

http://download.csdn.net/source/3231944

下面是这个工具的的介绍:Silverlight

下面是配置步骤:

1):将下载资源中的dll(Divelements.SilverlightTools.dll
),添加到Silverlight项目的引用中去。

2):在工具箱上右键 ,选择“选择项”,然后浏览到上面那个dll文件所在的位置,点击添加即可。

3):将刚才新添加的组件拖到silverlight编辑页面中,这时自动添加了对命名空间的引用

xmlns:divtools="clr-namespace:Divelements.SilverlightTools;assembly=Divelements.SilverlightTools"

4):在要嵌入的位置加入HtmlHost组件,例如:

<Grid>

       <divtools:HtmlHost x:Name="htmlPlaceholderHost1"  SourceUri="http://www.baidu.com" Margin="-4,21,-1,0"/>

</Grid>

这个控件的SourceUri属性即是指向你的其他页面信息,只要给一个Uri地址即可。

5):最后不要忘了在silverlight 的宿主页,加上 <param name="Windowless" value ="true" />,否则会弹出窗口报错“You must be using the Silverlight plugin in windowless mode to use this control.”,示例如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

<head>
<title>TileViewAnimation</title>
<style type="text/css">
html, body {
height: 100%;
overflow: auto;
}
body {
padding: 0;
margin: 0;
}
#silverlightControlHost {
height: 100%;
text-align:center;
}
</style>
<script type="text/javascript" src="Silverlight.js"></script>
<script type="text/javascript">
function onSilverlightError(sender, args) {
var appSource = "";
if (sender != null && sender != 0) {
appSource = sender.getHost().Source;
}

var errorType = args.ErrorType;
var iErrorCode = args.ErrorCode;

if (errorType == "ImageError" || errorType == "MediaError") {
return;
}

var errMsg = "Silverlight 应用程序中未处理的错误 " +  appSource + "\n" ;

errMsg += "代码: "+ iErrorCode + "    \n";
errMsg += "类别: " + errorType + "       \n";
errMsg += "消息: " + args.ErrorMessage + "     \n";

if (errorType == "ParserError") {
errMsg += "文件: " + args.xamlFile + "     \n";
errMsg += "行: " + args.lineNumber + "     \n";
errMsg += "位置: " + args.charPosition + "     \n";
}
else if (errorType == "RuntimeError") {
if (args.lineNumber != 0) {
errMsg += "行: " + args.lineNumber + "     \n";
errMsg += "位置: " +  args.charPosition + "     \n";
}
errMsg += "方法名称: " + args.methodName + "     \n";
}

引发新错误(errMsg);
}
</script>
</head>
<body>
<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/TileViewAnimation.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="4.0.50401.0" />
<param name="autoUpgrade" value="true" />
<param name="windowless" value="true"/> <!--这句话很重要必须得加-->
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="获取 Microsoft Silverlight" style="border-style:none"/>
</a>
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
</body>
</html>


贴一个我利用该控件 的一个四画面视频界面。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息