⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selectawareitemrenderer.mxml

📁 flex 实现的一个showcase 喜欢flex的朋友可以
💻 MXML
字号:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas 
	xmlns:mx="http://www.adobe.com/2006/mxml"
	
	width="100%"
	height="100%"
	
	creationComplete="addSelectMonitoring()"
	dataChange="handleSelectChange()">
	
	<mx:Metadata>
		[Event(name="select")]
	</mx:Metadata>
	
	<mx:Script>
		<![CDATA[
		
			//////////////////////////////////////////////////
			//import
			
			import mx.controls.listClasses.ListBase;
			
			//////////////////////////////////////////////////
			//getter/setter variables
			
			private var __isSelected:Boolean;
			private var __listParent:ListBase;
			
			//////////////////////////////////////////////////
			//getter/setter functions
			
			public function get isSelected():Boolean {
				return __isSelected;
			}
			
			public function get listParent():ListBase {
				if (__listParent == null) {
					var tempListParent:ListBase;
					var currentParent:DisplayObject = parent;
					
					while (currentParent != null) {
						if (currentParent is ListBase) {
							tempListParent = currentParent as ListBase;
							break;
						} else {
							currentParent = currentParent.parent;
						}
					}
					__listParent = tempListParent;
				}
				
				return __listParent;
			}
			
			//////////////////////////////////////////////////
			//initialization
			
			private function addSelectMonitoring():void{
				var list_base:ListBase=listParent;
				if(list_base!=null){
					list_base.addEventListener(Event.CHANGE,handleSelectChange);
				}
				handleSelectChange();
			}
			
			//////////////////////////////////////////////////
			//private functions
			
			private function removeSelectMonitoring():void {
				__listParent = null;
				
				var listBase:ListBase = listParent;
				if (listBase != null) {
					listBase.removeEventListener(Event.CHANGE, handleSelectChange);
				}
			}
			
			private function handleSelectChange(event:Event=null):void{
				var list_base:ListBase=listParent;
				if(list_base!=null){
					if(list_base.selectedItem==this.data){
						__isSelected=true;
					}else{
						
						__isSelected=false;
					}
					
					if(this.hasEventListener(Event.SELECT)){
						dispatchSelectEvent();
					}
				}
			}
			
			
			//////////////////////////////////////////////////
			//dispatch functions
			
			private function dispatchSelectEvent():void {
				var event:Event = new Event(Event.SELECT);
				dispatchEvent(event);
			}
			
			
		]]>
	</mx:Script>
	
	
</mx:Canvas>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -