Apache flex 列出容器中的所有元素
我想列出容器中的所有控件(按钮、数据网格等) 这可以工作,但给了我一个警告:变量“comp”没有类型声明。Apache flex 列出容器中的所有元素,apache-flex,actionscript,flex4,Apache Flex,Actionscript,Flex4,我想列出容器中的所有控件(按钮、数据网格等) 这可以工作,但给了我一个警告:变量“comp”没有类型声明。 for (var i:int = 0;i<this.numElements;i++) { var comp = this.getElementAt(i); trace(comp.id); } 在我的脑海里,当我收到编译器的警告时,那是因为我没有按预期的方式做某事 是否有其他方法可以引用id属性?我缺少一个方法,即使是一种完全不同的方法,也可以遍历所有控件?将其键入u
for (var i:int = 0;i<this.numElements;i++)
{
var comp = this.getElementAt(i);
trace(comp.id);
}
在我的脑海里,当我收到编译器的警告时,那是因为我没有按预期的方式做某事
是否有其他方法可以引用id属性?我缺少一个方法,即使是一种完全不同的方法,也可以遍历所有控件?将其键入
ui组件。组件将扩展这个类。(fl.controls components和mx.core components都扩展了UIComponent类)将其键入UIComponent
。组件将扩展这个类。(fl.controls components和mx.core components都扩展了UIComponent类)IVisualElement接口没有为“id”声明getter。假设您尝试检索的所有元素都是UIComponent,则必须强制转换为UIComponent。或者更好的方法是使用IAdvancedStyleClient,它是为UIComponent的“id”属性声明getter函数的接口
var comp:IAdvancedStyleClient = getElementAt(i) as IAdvancedStyleClient;
if (comp) trace(comp.id);
我在这里测试comp
是否为null
,以防位于“I”位置的组件实际上不会实现IAdvancedStyleClient。IVisualElement接口没有为“id”声明getter。假设您尝试检索的所有元素都是UIComponent,则必须强制转换为UIComponent。或者更好的方法是使用IAdvancedStyleClient,它是为UIComponent的“id”属性声明getter函数的接口
var comp:IAdvancedStyleClient = getElementAt(i) as IAdvancedStyleClient;
if (comp) trace(comp.id);
我在这里测试comp
是否为null
,以防位于“I”位置的组件实际上不会实现IAdvancedStyleClient。这不是获取元素的另一种方法吗
for each(var comp:UIComponent in this)
trace(comp.id);
这不是获取元素的另一种方式吗
for each(var comp:UIComponent in this)
trace(comp.id);
仅供参考-在Flex 4中,作为UIComponent转换可能不是您想要的,因为诸如Rect或BitmapImage之类的图形元素不从UIComponent扩展。@Steven这些将被视为控件?我不确定“控件”的定义是什么。在Flex4中有一些元素(IVisualElement),它们是UIComponent、GraphicElement、SpriteVisualElement或UIMovieClip对象。UIComponent是按钮、列表、数据网格等组件的基类。GraphicElement是纯视觉形状(如矩形、椭圆、直线、位图图像等)的基类。SpriteVisualElement是支持编译时优化FXG图形的基类。UIMovieClip是使用Flex Component Kit for Flash创建的组件的基类。仅供参考-在Flex 4中,作为UIComponent转换可能不是您想要的,因为诸如Rect或BitmapImage之类的图形元素不从UIComponent扩展。@Steven这些将被视为控件?我不确定“控件”的定义是什么。在Flex4中有一些元素(IVisualElement),它们是UIComponent、GraphicElement、SpriteVisualElement或UIMovieClip对象。UIComponent是按钮、列表、数据网格等组件的基类。GraphicElement是纯视觉形状(如矩形、椭圆、直线、位图图像等)的基类。SpriteVisualElement是支持编译时优化FXG图形的基类。UIMovieClip是使用Flex组件工具包为Flash创建的组件的基类。