这一步通过在HTML页面中规划相关代码实现相关内容的展示,与js的交互.首先添加与HTML交互的接口。所有需要通过js与HTML交互的功能都要加上该前缀:<ScriptableMember()> _另外还需要两个公有属性保存高度和宽度以便控制内容展示区域大小 (属性会在Silverlight应用加载页面时被设置);Public HTMLWidth As Double = 0 Public HTMLHeight As Double = 0两个公有方法体 (Show_MailEditor和Show_MailViewer)可以在被调用处编辑或浏览邮件.Show_MailViewer带有两个参数(主题 和 内容) .两个方法都是先创建动态 HTML内容,插入隐藏的div中进行大小裁剪后展示(HTML页里的效果就是Silverlight中的重叠展示. 由于CKEditor在运行时被加载,替换textarea要耗费一些时间, 所以需要个定时器来进行延迟处理. 之后定焦到动态HTML页面上的元素 -否则页面只能响应最初的动作之后就会卡死 (别问我为啥...它就是这么工作的!).设置该接口的调用权限,需要在全局模块里创建如下实例:Module modGlobal 'Make the interface available for global use from all project parts Public objMailInterface As MailInterface = Nothing End Module接下来要在Silverlight 应用里注册该接口. 在Application_Startup过程的文件App.xaml.vb里添加:objMailInterface = New MailInterface HtmlPage.RegisterScriptableObject("MailInterface", objMailInterface)前面提到,应用在运行时要向接口提供浏览内容展示区的大小信息. 在MainPage_SizeChanged事件里的MainPage.xaml.vb添加:objMailInterface.HTMLHeight = Me.ActualHeight objMailInterface.HTMLWidth = Me.ActualWidth现在就能随处调用该页面了:objMailInterface.Show_MailEditor() //or objMailInterface.Show_MailViewer("Mail Demo", " Hello World! This is a test text...")感谢 Hiren Khirsaria 在他的文章中 article 介绍了 Silverlight 和 JavaScript的通信方式!详细代码信息可以从开头处下载 - 以便调试学习!本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-04/100472.htm