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

献上一个可以绑定样式的工具类StyleBindingUtils

    博客分类:
  • flex
阅读更多
开门见代码:
package com.montage.binding.utils
{
	import mx.binding.utils.ChangeWatcher;
	import mx.styles.IStyleClient;
	
	/**
	 * Flex的绑定功能为我们的日常提供很多的方便
	 * 但是Flex只提供了属性的绑定类->BindingUtils;
	 * 如果要实现绑定控件的Style还要自己用ChangeWatcher去侦听事件
	 * 有了StyleBindingUtils这一切将变的简单
	 * StyleBindingUtils封装了ChangeWatcher进行了Style的绑定实现,
	 * 为您的开发提供了更多方便和快捷
	 * @author montage
	 */	
	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:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			import mx.graphics.Stroke;
			import mx.graphics.IStroke;
			import com.montage.binding.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:ApplicationControlBar>
		<mx:FormItem label="borderColor:">
			<mx:ColorPicker id="borderColor" change="changeHandler()"/>
		</mx:FormItem>
	</mx:ApplicationControlBar>
</mx:Application>
分享到:
评论

相关推荐

    大漠绑定测试工具

    我在论坛上找了几个大漠后台绑定检测的几个工具,但是界面都不是那么友好,很不直观。所以决定自己开发一个。功能都是以大漠插件的免费功能开发集成,绑定模式都是以0模式绑定,0模式绑定成功了4模式是不会有问题的...

    Rabbitmq工具类,java工具类RabbitmqUtil

    `RabbitmqUtil` 是一个专门为Java开发者设计的工具类,简化了与RabbitMQ交互的复杂过程,使得开发者能够更快速、更方便地发送和接收消息。 首先,我们来详细了解一下`RabbitmqUtil`工具类的主要功能: 1. **连接...

    大漠后台绑定测试工具--唐涛

    绑定测试是指将测试用例与实际的后台逻辑紧密结合,确保每一个功能点都能得到有效的验证。在大漠后台绑定测试工具中,用户可以方便地配置和执行各种复杂的测试场景,无论是常规的业务流程还是特定的异常处理,都能够...

    大漠绑定插件测试工具

    这个名为“大漠绑定插件测试工具”的压缩包文件显然提供了一个方便的解决方案,帮助用户快速解决与大漠绑定后台相关的技术问题。下面将详细讲解大漠绑定插件及其测试工具的相关知识点。 首先,我们要理解什么是...

    大漠插件绑定测试工具(VIP专用)v61.zip

    【大漠插件绑定测试工具】是一款专为VIP用户设计的高级软件,主要用于测试和调试浏览器插件与特定系统的绑定情况。这款工具以其强大的功能和高效性,在IT行业内特别是网络开发和安全检测领域中有着广泛的应用。下面...

    RabbitMQ工具类实现配置文件动态创建队列和绑定

    本篇文章将重点讲解如何使用RabbitMQ结合Java实现一个工具类,动态地根据配置文件创建队列和绑定。 首先,我们需要了解RabbitMQ的基本概念。在RabbitMQ中,队列(Queue)是存储消息的地方,生产者(Producer)发送...

    Android-一个可以快速搜索绑定连接打开和关闭音频通道的工具类

    本文将详细解析标题所提及的“Android-一个可以快速搜索绑定连接打开和关闭音频通道的工具类”,并围绕这个主题展开讨论。 首先,我们需要理解Android中的音频框架。Android的音频系统主要由MediaServer服务、Audio...

    大漠插件3.1233-绑定测试工具

    大漠绑定测试工具 大漠3.1233最后一个免费版大漠 包括隐藏路径防检测的大漠综合工具和其他一些辅助大漠的东西

    大漠插件绑定测试工具.exe

    大漠插件绑定测试工具

    大漠插件绑定测试工具(VIP专用)v50.rar

    其中,大漠插件绑定测试工具是专为VIP用户设计的高级版本,版本号v50更是这一系列工具中的一个重要里程碑。它不仅继承了前作的所有优点,还在功能上进行了优化和增强,以满足更复杂、更精细的测试需求。 大漠插件...

    大漠后台绑定测试工具1.0绿色版(后台绑定测试器)

    找图,先把图片放在本程序目录下,工具上只填图片文件名就行了,别加引号,是全屏找的。 找字,需要自己做字库,字库文件在本程序目录下,别修改文件名。 需要测试项,先勾选“测试”,再进行绑定,绑定不成功或测试...

    (1701)_大漠插件综合后台绑定测试工具

    【大漠插件综合后台绑定测试工具】是一个专门用于测试和绑定大漠插件的实用程序,它在IT行业中主要用于自动化测试和数据抓取。大漠插件是一种强大的辅助工具,广泛应用于网页抓取、数据分析、网站自动化测试等领域。...

    大漠综合绑定测试工具Final版+.含综合工具2.1147

    大漠综合绑定测试工具,作为一款专业级的IT测试软件,对于测试人员来说,是进行自动化测试和功能验证的强大武器。它集成了多种测试功能,适用于各种复杂的测试场景。在本篇文章中,我们将深入探讨如何使用该工具,...

    绝佳exe文件绑定运行工具

    综上所述,“绝佳exe文件绑定运行工具”作为一款专业化的软件,通过将多个.exe文件绑定为一个执行文件的方式,极大地方便了软件的分发、安装与执行,尤其在软件开发、系统部署、以及自动化任务执行中展现了其独特的...

    局域网arp绑定工具完美版

    局域网ARP绑定工具是一种用于增强网络安全性,防止ARP欺骗的实用软件。ARP(Address Resolution Protocol,地址解析协议)是TCP/IP协议栈中的一个关键组件,它的主要功能是将IP地址转换为MAC(物理)地址,以便数据...

    (老船MEL)IKFK切换绑定工具maya插件脚本

    【老船MEL】IKFK切换绑定工具是一款老船制作出品的IKFK切换绑定工具,该脚本绑定工具可以各种角色的手臂、腿部IKFK切换绑定,可以制作N段关节的各种IKFK切换及骨骼拉伸绑定。 工具说明 工具功能包括IKFK切换绑定。...

    arp 绑定工具 arp arp

    arp 绑定 工具arp 绑定 工具arp 绑定 工具arp 绑定 工具arp 绑定 工具arp 绑定 工具fsdfdsfsd 方法撒地方的释放地方

    一个绑定工具

    在当今信息技术飞速发展的时代,文件绑定工具作为一种特殊的软件工具,其功能不仅限于便捷地将多个文件整合到一个单一的可执行文件中,更是成为了计算机安全领域研究恶意软件的重要手段。然而,这种工具在安全性和...

    U盘绑定工具

    U盘绑定工具是一种创新的软件保护解决方案,它将传统的安全保护机制与日常使用的USB存储设备相结合,从而为软件开发者提供了一种新的保护其知识产权的手段。通过这种技术,软件仅能在特定的U盘插入的情况下运行,...

    dell R730双网卡绑定工具

    网卡绑定(Network Teaming)是一种将两块或多块物理网卡(NICs或LOMs)结合成一个逻辑设备的技术,该逻辑设备被称为虚拟适配器(Virtual Adapter),可以为其分配一个IP地址。这种技术的主要目的是为了提高网络连接的稳定...

Global site tag (gtag.js) - Google Analytics