自学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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言程序设计打卡系统,C语言程序设计报告书学生考勤系统设计.doc[通俗易懂]

    c语言程序设计打卡系统,C语言程序设计报告书学生考勤系统设计.doc[通俗易懂]设计题目:学生考勤系统设计设计方案:该系统能考察学生的出勤情况,所以包括每个班学生的全部信息。每个学生是一条记录,包括姓名﹑性别﹑学号,对应于某天某门课程的出勤情况等。该系统可模拟考勤过程,记录考勤结果,并能在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。其中,学生可在本系统在线请假以及查看学期内的上课出勤信息。在线请假中,学生可以随时查看到请假的详细进展情况。同时,学生可以查看本期…

    2025年6月12日
    0
  • PHP与RBAC设计思路讲解与源码

    PHP与RBAC设计思路讲解与源码

    2021年10月30日
    33
  • 观察者模式observer不适用于_观察者模式是什么

    观察者模式observer不适用于_观察者模式是什么观察者模式Obeserver动机模式定义实例结构图要点总结笔记动机在软件构建过程中,我们需要为某些对象建立 一种“通知依赖关系” —-一个对象发(目标对象)的状态发生改变,所有依赖的对象(观察者对象)都将很好的得到通知。如果这样的依赖关系过于紧密。将使软件不能很好的抵御变化使用面向对象技术 可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。模式定义定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(subject)的状态发生改变时,所有依赖于它的对象都得到通

    2022年8月11日
    1
  • maven配置以及设置国内镜像

    maven配置以及设置国内镜像下载好maven时,将maven包放进D盘,创建maven文件夹,进行解压。然后进行配置右键“计算机”,选择“属性”,之后点击“高级系统设置”,点击“环境变量”,来设置环境变量,有以下系统变量需要配置:新建系统变量MAVEN_HOME变量值:D:\maven\apache-maven-3.5.4编辑系统变量Path添加变量值:;%MAVEN_HOM…

    2022年5月8日
    46
  • java版微信公众号开发(二):配置token

    java版微信公众号开发(二):配置token

    2021年6月9日
    148
  • Java BigDecimal的使用[通俗易懂]

    Java BigDecimal的使用[通俗易懂]BigDecimal加减乘除BigDecimalbignum1=newBigDecimal(“10”);BigDecimalbignum2=newBigDecimal(“5”);BigDecimalbignum3=null;//加法bignum3=bignum1.add(bignum2);System.out.pr…

    2022年6月7日
    28

发表回复

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

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