Silverlight 5(C#)初探

接了个单子,非要用Silverlight 5来作一个项目,之前从来没接触过这东西,为了工作,硬着头皮也要上了。摸索了一晚上,大至整理出一些项目中需要的东西,以下作为初探记录:

Silverlight 5与Javascript的交谈方式

Silverlight 5属于客户端的东西,客户端的东西与服务器端交流,第一时间想到了基于javascript的ajax这个万能胶,所以先从Silverlight 5与Javascript交互方式入手。

一、Silverlight 5发言,Javascript倾听
从Silverlight 5里向Javascript发送程序运行请求。
Silverlight 5端代码具体如下:   
HtmlPage.Window.Invoke("Javascript函数方式", "传值-Oyiboy");

通过以上代码可以直接在Silverlight 5里运行Javascript的脚本代码,并发送必要的数据出来。

二、Javascript发言,Silverlight 5倾听
Javascript使用ajax获取服务器端数据后发送给Silverlight 5,以达到Silverlight 5与服务器端的交互效果。
Silverlight 5端代码具体如下:
        //设置值
        [ScriptableMember()]//这行是关键,必须有这个javascript才能请求到这个方法
        public void setVal(string D)
        {
            this.textView.Text = D;
        }
        //javascript主动要求返回值
        [ScriptableMember()]
        public string returnVal()
        {
            return this.textView.Text;
        }
Html代码调整:
需要在Silverlight 5插件的object代码内里添加以下参数设置句,以达到插件在加载后获取siliverlight对象。
<param name="onLoad" value="siliverLoaded" />
Javascript代码具体如下:
        //siliverlight对象
        var siliverlightObj = null;
        //上面那个HTML代码内设置的Silverlight 5 onLoad事件触发的函数
        function siliverLoaded(sender, args) {
            siliverlightObj = sender.getHost();
        }

        //以下代码中的.buttonSet和.buttonReu是两个带这些class的按钮,按钮就不详细写出来了
        //这个是运行Silverlight 5内的setVal方法
        $(".buttonSet").click(function () {
            siliverlightObj.Content.Main.setVal("javascript传入值-Oyiboy");
        })
        //这个是运行Silverlight 5内的returnVal方法
        $(".buttonReu").click(function () {
            alert(siliverlightObj.Content.Main.returnVal());
        });

以上几个方式,灵活使用的活基本上就完全解决了Silverlight 5与服务器端之间的交流,好吧,虽然这篇的东西的主题是Silverlight 5与Javascript,但最终目的还是Silverlight 5与服务器端的交互,反正ajax也不是什么新物,所以就跳过了。

感想:通过Silverlight 5的对象siliverlightObj.Content.Main这一大窜东西来看,siliverlightObj还能作更多的事了,具体还要慢慢摸索了,如果以后有需要用到的话,还可能会出这个的说明文章吧,或许。

2015-07-10补漏:
关于siliverlightObj.Content.Main中的Main是指在Silverlight 中app.xaml的Application_Startup事件中注册的访问名称,具体代码如下:

        private void Application_Startup(object sender, StartupEventArgs e)
        {
            this.RootVisual = new MainPage();
            System.Windows.Browser.HtmlPage.RegisterScriptableObject("Main", this.RootVisual);
        }

从代码中可知,如果有多个xaml页的话,只要在这里注册不同的名称就可以引用不同xaml页内声明的Javascript方法了。
刚刚整理代码时在APP.xaml发现这句代码才想起把这个给漏了,今天补回。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Silverlight5_sdk.exe是微软公司发布的Silverlight 5的软件开发工具包(SDK)。Silverlight是一种用于创建丰富的Web应用程序和媒体内容的技术。该SDK提供了开发Silverlight应用程序所需的各种工具、库和文档。 Silverlight 5是Silverlight技术的最新版本,包含了许多新的功能和改进。开发人员可以使用Silverlight 5 SDK来创建支持高级图形、动画、媒体播放和3D视觉效果的网页应用程序。此外,Silverlight 5还增加了对硬件加速视频解码、多窗口和文件访问的支持,提供了更好的性能和用户体验。 Silverlight 5 SDK中包含了许多开发工具,如Silverlight XAML编辑器和调试器,可以帮助开发人员更轻松地创建和调试应用程序。SDK还包含了各种类库,如用于处理图形、音频、视频、网络通信等的类库,可以帮助开发人员快速构建功能强大的应用程序。 除了工具和类库,Silverlight 5 SDK还提供了丰富的文档和示例代码,以帮助开发人员学习如何使用该平台进行开发。开发人员可以参考SDK中的文档来了解Silverlight 5的各种特性和用法,并根据示例代码来进行实践和试验。 总之,Silverlight 5 SDK是一个完整的开发套件,为开发人员提供了一切必要的工具和资源,以便于他们使用Silverlight技术创建出色的Web应用程序和媒体内容。 ### 回答2: Silverlight 5 SDK是微软公司发布的一款软件开发工具包,用于开发和部署Silverlight技术的应用程序。Silverlight是一种跨平台和跨浏览器的应用程序开发框架,可用于创建富Internet应用和媒体内容。Silverlight 5 SDK包含了开发Silverlight应用程序所需的各种工具和组件,可以帮助开发者轻松地构建高性能、跨平台的图形用户界面。SDK中的工具包括了Silverlight项目模板、提供了丰富的控件和布局,以及类库等,可以加快应用程序的开发和部署速度。此外,Silverlight 5 SDK还提供了强大的调试功能,可以帮助开发者快速定位并解决应用程序中的问题。通过Silverlight 5 SDK,开发者可以利用XAML和C#等编程语言来开发各种类型的Silverlight应用程序,例如富媒体应用、企业应用、数据可视化应用等。总而言之,Silverlight 5 SDK是一款功能强大的开发工具,可以帮助开发者快速地构建出优秀的Silverlight应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值