Atlas客户端类库、控件介绍(1)

转载 2006年06月09日 17:04:00
“Atlas”系统是一个非常复杂的框架,具有类似于asp.net般的丰富组件来简化客户端的程序设计。在dflying的系列文章中,已经为我们大家介绍了很多相关的知识,重复的地方我在这里就不啰嗦了。

  要实现“Atlas”客户端控件,有两种方式,一种是Xml Script定义的方式,dflying书写的系列文章中,涉及到Atlas客户端控件大多数采用的就是上面的这种方式,形式如同:
    <script type="text/xml-script">
        
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005" xmlns:samples="samples">
            
<components>
                
<button id="button1">
                    
<behaviors>
                        
<hoverBehavior>
                            
<hover>
                                
<invokeMethod target="button1" method="addCssClass">
                                    
<parameters className="pseudo-button-hover" />
                                
</invokeMethod>
                            
</hover>
                            
<unhover>
                                
<invokeMethod target="button1" method="removeCssClass">
                                    
<parameters className="pseudo-button-hover" />
                                
</invokeMethod>
                            
</unhover>
                        
</hoverBehavior>
                    
</behaviors>
                
</button>
            
</components>
        
</page>
    
</script>
  还有一种方式,那就是Javascript实现,如果书写普通js代码般实例化相应的Atlas客户端控件:
 1function Init()
 2{
 3    var titleTextBox = new Sys.UI.TextBox($("TitleTextBox"));
 4    titleTextBox.initialize();

 6    titleTextBox.set_text("AXii");
 7    
 8    var itemEvent = new Type.Event(titleTextBox , true);
 9    itemEvent.add(PopupMessage);
10
11    titleTextBox.propertyChanged = itemEvent;
12    
13    var itemBehavior = new Sys.UI.HoverBehavior();
14    itemBehavior.setOwner(titleTextBox);
15    itemBehavior.initialize();
16    
17    itemBehavior.hover.add(Alert);
18}

  上面这段js的意思是:
  第3行:实例化一个Sys.UI.TextBox,传入的参数为一input HTML 控件,实现将Atlas控件与HTML控件的关联(绑定);
  第4行:初始化这个新的Atlas客户端控件;
  第6行:修改这个新Atlas TextBox控件的值,Atlas控件所关联(绑定)的HTML控件的相应值同步更新。

  到这一步,我们就利用JavaScript获得了第一个Atlas 客户端控值。

  第8-9行:创建Atlas客户端框架中的事件实例(您可以借鉴c#中的事件来理解),Type.Event类所传入的两个参数,第一个参数为发出事件的源控件(Atlas控件),第二个参数确定此事件是否自动执行。

  第11行:将将新事件指定给第3行创建的Atlas TextBox控件实例的propertyChanged,这样,在TextBox控件的属性(TextBox 控件的Text)发生改变时,就会执行相应的事件:
1function PopupMessage(sender , eventArgs)
2{
3    alert(sender.get_text());
4}

  注意:事件关联处理函数应该以上面的方式定义,包括sender 与 eventArgs参数,从参数命名上我们可以知道,sender指向的就是发起事件的源。

  第13-17行又是什么意思呢?
  刚才的TextBox在Text属性发生改变时,已经可以通过事件响应了,如果我们还希望在实现鼠标移入TextBox区域(类似HTML控件的onMouseOver),又该如何实现呢?第13-17行就是实现这个功能的。

  Atlas客户端控件包含HoverBehavior类,HoverBehavior类继承与Behavior(动作、行为?)类。Behavior类通过setOwner(ownerControl)方法绑定Behavior的所有者控件。

  同样,不要忘记初始化这个控件。

  这样,我们创建了一个Sys.UI.TextBox控件,并将此TextBox关联至id为“TitleTextBox”的input HTML控件,当TextBox的Text改变时,会有相应的事件激活;同时,这个TextBox控件还能响应鼠标进入动作。

  哈哈哈,实在是表述力欠佳,希望您可以看得明白我在说些什么。(后续……)

 

http://luna.cnblogs.com/archive/2006/05/30/413281.html

相关文章推荐

开源中国iOS客户端学习——(五)网络通信ASI类库(1)

如今的应用大部分基予网络,在开源中国iOS客户端源码中关于网络通信方面用了三个类库,ASI和AFNetworking,还有一个苹果官方给出的Reachability用于检测当前网络状况,本文介绍当前用...

开源中国iOS客户端学习——(五)网络通信ASI类库(1)

如今的应用大部分基予网络,在开源中国iOS客户端源码中关于网络通信方面用了三个类库,ASI和AFNetworking,还有一个苹果官方给出的Reachability用于检测当前网络状况,本文介绍当前用...

C/C++ XMPP/Jabber 客户端类库对比/点评

================ gloox ================ Ans. 老牌库,推荐 gloox是一个稳定功能完整的XMPP客户端库, 使用ANSI C++编写, 使用它编写标准客户...
  • educast
  • educast
  • 2014年06月16日 11:22
  • 3583

5个jQuery的备选轻量级移动客户端开发(Mobile development)类库

日期:2012-4-23  来源:GBin1.com jQuery很棒,但是并非所有的情况下都适合使用jQuery作为你的开发类库。如果你只是需要简单的DOM操作或者AJAX请求处理,为什么要使用如...
  • jjfat
  • jjfat
  • 2012年04月25日 12:55
  • 555

java封装(一):基于具体的类库设计人员与客户端程序员(使用者)的分离

封装分为两种,一种是基于具体的类库设计人员与客户端程序员(使用者)的分离,一种是基于抽象的类库设计人员与具体的类库设计人员的分离,这一博客潜谈下第一种。 一、用权限实现封装:     对于...
  • wmaoshu
  • wmaoshu
  • 2016年04月02日 10:38
  • 536

邮件收取客户端LumiSoft类库接收yahoo邮件的问题。

//开始循环取邮件数据 m_pImap.Fetch( false, ...

开源中国iOS客户端学习——(八)网络通信AFNetworking类库

转载自:http://blog.csdn.net/duxinfeng2010/article/details/8620901   开源中国iOS客户端学习——(八)网络通信AF...

Silverlight客户端和WCF服务器端共享类库

在Silverlight企业级项目开发中,访问数据库是很常见的事情, 这里我不详谈Silverlight如何操作数据库,详细可以访问Silverlight访问数据库三种方法 和 SilverLig...

XMPP客户端Java类库:Smack

  • 2015年11月24日 19:53
  • 1.95MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Atlas客户端类库、控件介绍(1)
举报原因:
原因补充:

(最多只允许输入30个字)