自学silverlight 5.0

日期:2019-10-19编辑作者:跳舞机游戏

这是一个silverlight游戏:

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

Silverlight 5与Javascript的交谈方式

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

一、Silverlight 5发言,Javascript倾听

自学silverlight 5.0。从Silverlight 5里向Javascript发送程序运行请求。
自学silverlight 5.0。Silverlight 5端代码具体如下: 

自学silverlight 5.0。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());
});
// hovertree.com

 

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

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

补漏: 
关于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发现这句代码才想起把这个给漏了,今天补回。

silverlight加密:

转自:

silverlight数字时钟:
图片 1

本文由新金沙国际手机版发布于跳舞机游戏,转载请注明出处:自学silverlight 5.0

关键词:

微信《跳一跳》风靡背后,是否预示着2018年的风

如果说2017年是共享经济称道的年代,那微信小游戏《跳一跳》的风靡,是否预示着2018年的风口将是小程序? 2016年...

详细>>

萨提亚第七章(一个不断成长的家庭治疗师的历

引言(柯琳·墨菲) 在本章,维吉尼亚·萨提亚不仅为我们分享了她职业发展的内在和外在历程,而且具体阐述了她对健...

详细>>

这是我的大学舍友|大学生活&城市故事&故事专题

优秀奖:5~10元以内不等,并从中选出10篇优秀文章进入活动专刊。 这是我的大学舍友|大学生活故事专题联合征文。(...

详细>>

〔校园〕新闻101(4)

〔校园〕新闻101(4)。首先主卧谈会 女孩子宿舍 班会结束后,我们各自回到宿舍。 芷苓洗了脸回到床面上,拿动手...

详细>>