Flash 为组合框指定图标';使用动态加载的外部图像创建列表

Flash 为组合框指定图标';使用动态加载的外部图像创建列表,flash,actionscript-3,actionscript,components,Flash,Actionscript 3,Actionscript,Components,我正试图具体地为ComboBox的一个实例实现这一点,它使用一个列表来显示充满项目的下拉菜单。列表可以有与其关联的图标,如: 。。。假设IconClass1和IconClass2是我们库中符号的有效类名,那么这段代码可以完美地工作 这是我的问题-这个组合框的内容将是XML驱动的,动态填充的,我真的希望将图标引用作为文件名而不是类名,这样,当整个过程实现时,图标可以在XML中更改,而无需打开Flash并向库中添加新符号。客户通常不擅长这类事情 理想情况下,我希望能够找到一种方法来引用图标类实例的容

我正试图具体地为ComboBox的一个实例实现这一点,它使用一个列表来显示充满项目的下拉菜单。列表可以有与其关联的图标,如:

。。。假设IconClass1和IconClass2是我们库中符号的有效类名,那么这段代码可以完美地工作

这是我的问题-这个组合框的内容将是XML驱动的,动态填充的,我真的希望将图标引用作为文件名而不是类名,这样,当整个过程实现时,图标可以在XML中更改,而无需打开Flash并向库中添加新符号。客户通常不擅长这类事情

理想情况下,我希望能够找到一种方法来引用图标类实例的容器——ComboBox.dropdown显然是在某处保留对每个列表项的引用,如果我能找到它,我可以动态加载图标图像,然后将它们添加到图标实例中。明白我在说什么吗


这可能吗?有没有其他更棘手的方法来实现这一点?

我还没有尝试过,但我假设您可以使用一个基本的自定义类,比如ImageIconField,您可以对每个图像进行实例化,在DataProvider中传递数据并设置iconField。像这样:

var customImageIcon:ImageIconField;
var dataProviderArr:Array = [];
for (var node:XML in xml_data.children()) {
    customImageIcon = new ImageIconField();
    customImageIcon.loadFromFile(node.@icon_path.toString());
    dataProviderArr.push({label:xml_data.@label.toString, iconClass:customImageIcon})
}
combobox.dropdown.iconField = 'iconClass';
combobox.dataProvider = new DataProvider(dataProviderArr);
var customImageIcon:ImageIconField;
var dataProviderArr:Array = [];
for (var node:XML in xml_data.children()) {
    customImageIcon = new ImageIconField();
    customImageIcon.loadFromFile(node.@icon_path.toString());
    dataProviderArr.push({label:xml_data.@label.toString, iconClass:customImageIcon})
}
combobox.dropdown.iconField = 'iconClass';
combobox.dataProvider = new DataProvider(dataProviderArr);