Atlas学习手记(21):使用行为增强用户界面(一):Click Behavior

Atlas中的Behavior定义了当控件的某个事件被触发时的行为。Behavior可以看作是一种封装了的DHTML的事件,例如clickhover等。Behavior同样可以是一个组件,可被attach到某个Atlas客户端控件上,以提供这个Atlas客户端控件更高级,更丰富的功能,例如一些复杂的拖放(drag & drop),自动完成,浮动等功能。Behavior将被定义在某个Atlas控件的behaviors集合中。

Click BehaviorAtlas内建的Behavior,用来处理DHTMLonclick事件。

 

主要内容

1Click Behavior简介

2.完整示例

 

一.概述

Atlas中的Behavior定义了当控件的某个事件被触发时的行为。Behavior可以看作是一种封装了的DHTML的事件,例如clickhover等。Behavior同样可以是一个组件,可被attach到某个Atlas客户端控件上,以提供这个Atlas客户端控件更高级,更丰富的功能,例如一些复杂的拖放(drag & drop),自动完成,浮动等功能。Behavior将被定义在某个Atlas控件的behaviors集合中。

Click BehaviorAtlas内建的Behavior,用来处理DHTMLonclick事件。它的基本定义形式如下:

<clickbehavior 

    
click="event handler" 

    datacontext
="source for data binding operations"

    id
="identifier for looking up the component by name" 

    propertychanged
="event handler">

    
<bindings>

        
<!-- bindings -->

    
</bindings>

    
<click>

        
<!-- actions -->

    
</click>

    
<propertyChanged>

        
<!-- actions -->

    
</propertyChanged>

</clickbehavior>

二.完整示例

下面看一个简单的示例,在ASPX页面上添加两个Span分别用来HideShow的点击,再用一个div来显示点击的结果:

<div>

    
<h3 style="text-decoration: underline">

        Click Behavior Example
</h3>

    
<div id="panel">

        The clickBehavior of the following elements affect this element.
</div>

    
<br />

    
<span id="hideLabel" class="buttonstyle2">Hide</span>&nbsp; <span id="showLabel"

        class
="buttonstyle2">Show</span>

</div>

其中用到的CSS样式如下:

<style type="text/css">

    .buttonstyle2 
{

        PADDING-RIGHT
: 4px; PADDING-LEFT: 4px; 

        FONT-SIZE
: 12pt; PADDING-BOTTOM: 4px; 

        MARGIN
: 4px; VERTICAL-ALIGN: middle; 

        COLOR
: white; PADDING-TOP: 4px; 

        FONT-FAMILY
: Verdana; BACKGROUND-COLOR: gray; 

        TEXT-ALIGN
: center

    
}


    .start
{background-color:yellow;border:dashed 2px black;}

</style>

下面添加Atlas脚本定义,注意我们要添加两个Click Behavior,分别用来表示HideShow,另外在Click Behavior中用到了setProperty这个Action,来设置这个Panel是否显示:

<script type="text/xml-script">

    
<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">

        
<components>

         
<control id="panel" cssClass="start" />

                    
<label id="hideLabel">

                        
<behaviors>

                            
<clickBehavior>

                                
<click>

                                    
<setProperty target="panel" property="visible" value="false" />

                                
</click>   

                            
</clickBehavior> 

                        
</behaviors>

                    
</label>

                    
<label id="showLabel">

                        
<behaviors>

                            
<clickBehavior>

                                
<click>

                                    
<setProperty target="panel" property="visible" value="true" />

                                
</click>   

                            
</clickBehavior> 

                        
</behaviors>

                    
</label>

        
</components>

    
</page>

</script>

至此全部完成,运行后如下所示:

单击“Hide”:

单击“Show”:

完整示例下载:https://files.cnblogs.com/Terrylee/ClickBehaviorDemo.rar

posted @   TerryLee  阅读(3524)  评论(2编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示