首页 > Windows开发 > 详细

Silverlight 5(C#)初探

时间:2015-07-06 12:11:10      阅读:282      评论:0      收藏:0      [点我收藏+]

接了个单子,非要用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还能作更多的事了,具体还要慢慢摸索了,如果以后有需要用到的话,还可能会出这个的说明文章吧,或许。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Silverlight 5(C#)初探

原文:http://blog.csdn.net/oyiboy/article/details/46772243

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!