一、 在Silverlight注册一个Javascript脚本对象,并将C#方法暴露出来,就可以了。
注册脚本对象:
HtmlPage.RegisterScriptableObject( "Builder" , this ); |
定义脚本成员:
[ScriptableMember] public void CreateRect( int width, int height) { Rectangle rect = new Rectangle(); rect.width = width; rect.height = height; rect.Fill = new SolidColorBrush(Colors.Blue); LayoutRoot.Children.Claer(); LayoutRoot.Children.Add(rect); } |
二、 在Html中定义一个Silverlight对象,通过javascript获取此对象,用此对象来调用CreateRect方法创建矩形。
创建Silverlight对象:
<Object id="XamlObject" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="400" height="300"> <param name="source" value="ClientBin/Sample.xap"/> <param name="onerror" value="onSilverlightError"/> <param name="background" value="white"/> <param name="minRuntimeVersion" value="2.0.31005.0"/> <param name="autoUpgrade" value="true"/> </Object>
通过点击按钮,调用该对象的方法:
<!--html--> < input id="button1" type="button" value="生成矩形" onclick="createRectangle();"> <!--javascript--> function createRectange(){ var xamlObject = document.all('xamlObject'); xamlObject.content.Builder.CreateRect(100,200); } |
毫无理由的 坚持、坚持、再坚持!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述