自学silverlight 5.0

这是一个silverlight游戏:http://keleyi.com/keleyi/phtml/silverlight/接了个单子,非要用Silverlight5来作一个项目,之前从来没接触过这

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

这是一个silverlight游戏:http://keleyi.com/keleyi/phtml/silverlight/

接了个单子,非要用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());
});
// 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加密:http://keleyi.com/tool/md5.htm

转自:http://hovertree.com/h/bjaf/silverlight5.htm

silverlight数字时钟:
获取 Microsoft Silverlight

http://roucheng.cnblogs.com/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120584.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 全文六万字《计算智能》智能优化算法 张军【Python】

    全文六万字《计算智能》智能优化算法 张军【Python】就这?《计算智能》张军超详细讲解前言正文第1章绪论1.1最优化问题1.1.1函数优化问题1.1.2组合优化问题1.2.1计算复杂性1.2.2NP理论1.3计算智能方法1.3.1计算智能的分类与理论1.3.2计算智能的研究与发展1.3.3计算智能的特征与应用前言由于最近新参与了一个与智能优化相关的科研课题,所以需要了解一些计算智能的算法知识。经老师推荐,从网上购买了张军老师的这本《计算智能》,尽管出版年份距今已有一些年日,但因该领域多年来并未有太多新的大改变,且该书对新手相对友好,故

    2022年6月12日
    32
  • Shell if else语句「建议收藏」

    Shell if else语句「建议收藏」Shellifelse语句if语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell有三种if…else语句:if…fi语句; if…else…fi语句; if…elif…else…fi语句。1)if…else语句if…else语句的语法:if[expression…

    2022年7月11日
    26
  • 【Tomcat】Tomcat配置https(免费证书)

    【Tomcat】Tomcat配置https(免费证书)

    2021年6月2日
    135
  • 测试15

    测试15无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。HTTP的接口测试工具有很多,

    2022年7月3日
    24
  • queue_work函数_generate_series函数

    queue_work函数_generate_series函数函数说明在计算机程序中,线程是一种很重要的资源,使用的恰当可以极大的提高程序的效率,也就是多线程的使用,但是多线程会让应用程序变得异常复杂,会占用大量的系统资源。就像QQ表情一样,每一个QQ表情的闪动都需要构建一个线程,如果用户使用了大量的表情,将会有多少个线程在运行,系统的性能将大大减少,甚至导致死机。在这种情况下,多线程变得不太合适了,那么什么机制适用于这种情况下呢,这就是线程池。通常情况…

    2022年9月25日
    3
  • 屏幕适配 autosize

    屏幕适配 autosizeAndroidManifest<meta-dataandroid:name=”design_width_in_dp”android:value=”400″/><meta-dataandroid:name=”design_height_in_dp”android:value=”800″/>build(APP)implementa

    2022年5月31日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号