`
longgangbai
  • 浏览: 7339352 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

flex BindUtils的扩展的样式表绑定工具类StyleBindingUtils

阅读更多

项目中使用的样式表绑定类如下:

 

package utils
{
 import mx.binding.utils.ChangeWatcher;  
    import mx.styles.IStyleClient;  
      
    /** 
     * Flex的绑定功能为我们的日常提供很多的方便 
     * 但是Flex只提供了属性的绑定类->BindingUtils; 
     * 如果要实现绑定控件的Style还要自己用ChangeWatcher去侦听事件 
     * 有了StyleBindingUtils这一切将变的简单 
     * StyleBindingUtils封装了ChangeWatcher进行了Style的绑定实现, 
     * 为您的开发提供了更多方便和快捷 
     * @author bailonggang 
     */   
    public class    StyleBindingUtils
    {  
        public function StyleBindingUtils()  
        {  
        }  
          
        public static function bindStyle(  
                                        site:IStyleClient, prop:String,  
                                        host:Object, chain:Object,  
                                        commitOnly:Boolean = false):ChangeWatcher  
        {  
            var w:ChangeWatcher =   
                ChangeWatcher.watch(host, chain, null, commitOnly);  
              
            if(w != null )  
            {  
                var assign:Function = function(event:*):void 
                {  
                    site.setStyle(prop, w.getValue());  
                }  
                w.setHandler( assign );  
                assign(null);  
            }  
              
            return w;  
        }  
                                          
          
    }  

}

 

测试页面如下:

 

<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
 <mx:Script>
  <![CDATA[
   import mx.graphics.Stroke;
   import mx.graphics.IStroke;
      import utils.StyleBindingUtils;
  
   
   /**
    * 定义一个Stroke, 默认颜色为0x333333
    */
   private var borderStroke:Stroke = new Stroke(0x333333, 0, 1);
   
   private function init():void
   {
    /**
     * 进行绑定:把container的borderColor样式属性绑定到borderStroke的color属性上
     */
    StyleBindingUtils.bindStyle(container, "borderColor", borderStroke, "color");
   }
   
   private function changeHandler():void
   {
    /**
     * 设置borderStroke的color属性
     * 被绑定对象会联运变化
     */
    borderStroke.color = borderColor.selectedColor;
   }
   
  ]]>
 </mx:Script>
 <mx:Canvas width="200" height="200" id="container" borderThickness="2" borderStyle="solid"/>
  <mx:FormItem label="borderColor:">
   <mx:ColorPicker id="borderColor" change="changeHandler()"/>
  </mx:FormItem>
</mx:VBox>

 

分享到:
评论

相关推荐

    FLEX界面样式表工具

    标题中的"FLEX界面样式表工具"指的是用于设计和管理Adobe Flex应用中用户界面样式的工具。Flex是一种基于ActionScript和MXML的开源框架,主要用于构建富互联网应用程序(RIA)。这些工具帮助开发者通过图形化的方式...

    关于flex 的css样式表

    Flex布局,全称为“Flexible Box”,也被称为Flexbox,是一种用于网页布局的CSS3模块,旨在提供更加灵活、响应式的布局方案。它允许开发者轻松地调整元素在容器内的排列方式,适应不同屏幕尺寸和设备类型。在现代...

    Flex样式生成工具

    6. **类和状态管理**:可以为不同组件或组件的不同状态创建自定义样式类,方便管理和应用。 7. **导出和导入**:生成的样式可以导出为CSS或MXML格式,方便在Flex项目中使用;同时,也可以导入现有的样式文件进行...

    Flex样式设计工具

    Flex样式设计工具是一种用于开发Adobe Flex应用程序的辅助软件,它帮助开发者更轻松地管理与定制Flex组件的外观和样式。Flex是一种开源框架,主要用于构建富互联网应用程序(RIA),尤其是在使用ActionScript和MXML...

    Flex样式生成工具(定制各种Flex按钮网页css样式)

    Flex样式生成工具是一款专为网页界面开发者设计的强大辅助软件,它可以帮助用户轻松定制各种Flex按钮的CSS样式。这款工具提供可视化的操作界面,使得复杂的样式调整变得直观且简单,极大地提高了开发效率。 Flex是...

    FLEX资源——FLEX数据绑定专题(中文PDF)

    《FLEX数据绑定专题》是一本深入探讨Adobe Flex中数据绑定技术的专业中文PDF文档。Flex是一种用于构建富互联网应用程序(RIA)的开放源码框架,它允许开发者创建交互性强、功能丰富的Web应用。数据绑定是Flex中一个...

    Flex3样式设计工具4IN1Flex3样式设计工具4in1.rar

    这个"Flex3样式设计工具4in1.rar"是一个压缩包,包含了多个与Flex3样式设计相关的工具和资源,帮助开发者更有效地管理及定制应用的外观。 1. **Flex3 Component Explorer**:这是一个组件浏览器,允许开发者查看和...

    flex特效 不错的flex样式生成器

    这个“flex特效 不错的flex样式生成器”是一个工具,可以帮助开发者更轻松地生成适用于Flex布局的CSS样式。通过图形化的界面,用户可以直观地调整各种属性,以实现所需的布局效果。 首先,让我们深入理解Flex布局的...

    flex数据绑定的原理

    在Flex开发中,数据绑定(Data Binding)是一种强大的机制,它允许UI组件的状态与应用程序的数据模型之间自动同步。数据绑定的原理是通过监听数据源的变化,并自动更新与之绑定的UI组件,反之亦然,从而简化了代码并...

    flex页面跳转及数据绑定

    在Flex开发中,页面跳转和数据绑定是两个核心概念,它们对于构建动态且交互性强的应用至关重要。让我们分别深入探讨这两个主题。 首先,Flex页面跳转。在Flex中,有多种方式来实现场景间的切换: 1. **ViewStack...

    flex样式设计器

    Flex布局,全称为“Flexible Box”...对于初学者,这是一个学习和实践Flex布局的好工具,对于经验丰富的开发者,它能节省大量的调试时间。无论你是设计还是编码,熟悉并掌握Flex布局都是现代Web开发中不可或缺的技能。

    Flex中的CSS样式

    本文将深入探讨Flex中的CSS样式使用方式,包括本地样式定义、外部样式表、内联样式以及通过ActionScript动态设置样式的方法。 #### 一、使用本地样式定义 本地样式是在MXML文件中直接定义的样式,使用`&lt;mx:Style&gt;`...

    Flex3 StyleExplorer 样式生成器

    Flex3 StyleExplorer是一款专为Adobe Flex 3设计的样式生成工具,它允许开发者和设计师探索、测试和定制Flex组件的外观。这个工具是Flex SDK的一部分,帮助用户理解并利用MXML和CSS(Cascading Style Sheets)来控制...

    flex移动布局,极简公共样式包,附demo

    总的来说,这个“flex移动布局,极简公共样式包”是一个强大的工具,它简化了移动端响应式布局的实现,尤其适合混合APP开发。通过学习和运用Flex布局及其公共样式包,开发者可以创建出更加灵活、适应性强的Web界面,...

    flex 学习项目中总结的时间处理工具类DateUtils

    在这个名为"flex 学习项目中总结的时间处理工具类DateUtils"的项目中,我们可能找到了一个针对Flex开发环境优化的日期处理工具。Flex是一种基于Adobe ActionScript的开源框架,主要用于构建富互联网应用(RIA)。 `...

    Flex文件上传工具类

    支持同时上传多个文件,和设置文件过滤 绑定进度条和用于显示进度信息的Text控件

    flex4原生扩展应用(Android)

    Flex4原生扩展应用在Android平台上能够为开发者提供更丰富的功能和更高的性能,尤其是在处理特定硬件交互和系统级服务时。这种技术允许Flex4应用程序利用Android SDK中的原生API,从而实现诸如条码扫描、SIM卡信息...

    Flex模仿HTML的CSS样式表中的背景重复

    用于模仿HTML的CSS样式表中的背景重复显示功能

    flex类名组合样式.css

    flex的属性的整理,可以直接使用类名进行组合实现flex布局。项目的属性,order,flex-grow,flex-shrink,flex-basis,flex.需要在项目中添加对应的样式

Global site tag (gtag.js) - Google Analytics