Silverlight 5(C#)初探
2016-01-15 17:45
656 查看
接了个单子,非要用Silverlight 5来作一个项目,之前从来没接触过这东西,为了工作。硬着头皮也要上了。摸索了一晚上,大至整理出一些项目中须要的东西,下面作为初探记录:
通过以上代码能够直接在Silverlight 5里执行Javascript的脚本代码,并发送必要的数据出来。
以上几个方式,灵活使用的活基本上就全然攻克了Silverlight 5与server端之间的交流,好吧,尽管这篇的东西的主题是Silverlight 5与Javascript。但终于目的还是Silverlight 5与server端的交互,反正ajax也不是什么新物,所以就跳过了。
感想:通过Silverlight 5的对象siliverlightObj.Content.Main这一大窜东西来看,siliverlightObj还能作很多其它的事了,详细还要慢慢摸索了,假设以后有须要用到的话。还可能会出这个的说明文章吧,也许。
2015-07-10补漏:
关于siliverlightObj.Content.Main中的Main是指在Silverlight 中app.xaml的Application_Startup事件中注冊的訪问名称,详细代码例如以下:
从代码中可知。假设有多个xaml页的话。仅仅要在这里注冊不同的名称就能够引用不同xaml页内声明的Javascript方法了。
刚刚整理代码时在APP.xaml发现这句代码才想起把这个给漏了,今天补回。
Silverlight 5与Javascript的交谈方式
Silverlight 5属于client的东西,client的东西与server端交流,第一时间想到了基于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获取server端数据后发送给Silverlight 5,以达到Silverlight 5与server端的交互效果。 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与server端之间的交流,好吧,尽管这篇的东西的主题是Silverlight 5与Javascript。但终于目的还是Silverlight 5与server端的交互,反正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发现这句代码才想起把这个给漏了,今天补回。
相关文章推荐
- C#Socket 文件传输,支持断点续传
- c#下利用winAPI来实现扩展屏的分辨率设置、方向切换等
- NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(2)
- NET(C#)接入Dubbo服务,Zookeeper作为Dubbo服务的注册中心,实现thrift协议访问接口(2)
- C# 中dataTable中的数据批量增加至数据表中
- C#线程同步
- C# 上传图片前判断上传图片的宽和高
- 从0自学C#01--自绘窗体边框
- C#基础语法实例荟萃
- c#实现OutLook定时会议室申请
- C#实现UDP协议
- [UDP] C#UDP入门|Socket通信|UdpClient通信
- c# webbrowser获取cookies
- 关于C#中”扩展方法必须在非泛型静态类中定义“问题的解决
- C#委托与事件,通俗易懂详细解释
- C# 6.0新特性(转载)
- 跟siki老师学C#第二天
- 【C#之栈和堆初遇】
- 使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码
- C#编码规范