Flex:是否可以访问默认的“mx:Tree”图标?
Flex: is it possible to access default `mx:Tree` icons?
我有一点问题,因为我有一棵树:
<mx:Tree iconField="@icon" />
一段时间以来还不错,但现在我希望树的 部分 具有默认图标。现在,由于我还没有弄清楚的原因,对于 b运行ch 节点,源 XML 的 icon
成员被忽略,并且使用默认值 但是对于叶节点,我必须 有一个有效的 icon
成员,否则我会得到一个例外。 icon=""
无效。
深入了解,我 运行:
trace('The default tree icon: ' + tree.itemToIcon(tree.selectedItem).toString());
显示默认值为:
class _TreeStyle__embed_css_Assets_swf_TreeNodeIcon_770392128
这太神奇了。不用了,谢谢。我什至没有尝试将其分配给 icon
.
与其做个截屏,Gimp编辑,然后做成自定义图标,不如直接引用平台提供的默认图标?
此处为 Flex 3.5 SDK。
我认为你想得太多了,而且把一切都复杂化了!
我已经很长时间没有使用它了,但也许这仍然可以帮助你 little.From 记忆我曾经也有过更复杂的记忆,但有一段时间没有安静地看它了! One Link of many I used with Tree setup
gallery icon="iconSymbol0AG"
gallery label=" AR - ARGENTINA" src="com/assets/images/countriesFlagsRoundLarge/ar.png"
gallery label=" Mauricio Photography" src="com/assets/images/PageOne/PhotographyBlogs/BlankArtists/AR/TheMauricioBlog.swf"
file label=" Web Site" icon="iconSymbolAR" src="com/assets/images/PageOne/PhotographyBlogs/WebSites/AR/TheCollazosBlog.swf"
gallery
按照 Amy 的建议,我尝试了:
public var m_icoDefaultLeaf:Class;
private static var m_oDummyTree:Tree;
private static var m_xmlDummy:XML;
...
m_oDummyTree = new Tree;
m_xmlDummy = <dummynode />;
m_oDummyTree.dataProvider = m_xmlDummy;
m_oDummyTree.addEventListener(FlexEvent.CREATION_COMPLETE,
function (evt:FlexEvent):void {
m_icoDefaultLeaf = m_oDummyTree.itemToIcon(m_xmlDummy);
removeChild(m_oDummyTree);
m_oDummyTree = null;
m_xmlDummy = null;
}
);
addChild(m_oDummyTree);
然后我只是在 XML 中使用 icon="m_icoDefaultLeaf"
作为叶子,令人惊讶的是,它起作用了!
是的,它确实有那么复杂。我必须处理那个事件,我必须将树添加为某物的子项。
我尝试的另一件事是擦除所有代码并只使用
public var m_icoDefaultLeaf:Class = null;
但这只是一个空白图标,不是默认图标。
我有一点问题,因为我有一棵树:
<mx:Tree iconField="@icon" />
一段时间以来还不错,但现在我希望树的 部分 具有默认图标。现在,由于我还没有弄清楚的原因,对于 b运行ch 节点,源 XML 的 icon
成员被忽略,并且使用默认值 但是对于叶节点,我必须 有一个有效的 icon
成员,否则我会得到一个例外。 icon=""
无效。
深入了解,我 运行:
trace('The default tree icon: ' + tree.itemToIcon(tree.selectedItem).toString());
显示默认值为:
class _TreeStyle__embed_css_Assets_swf_TreeNodeIcon_770392128
这太神奇了。不用了,谢谢。我什至没有尝试将其分配给 icon
.
与其做个截屏,Gimp编辑,然后做成自定义图标,不如直接引用平台提供的默认图标?
此处为 Flex 3.5 SDK。
我认为你想得太多了,而且把一切都复杂化了! 我已经很长时间没有使用它了,但也许这仍然可以帮助你 little.From 记忆我曾经也有过更复杂的记忆,但有一段时间没有安静地看它了! One Link of many I used with Tree setup
gallery icon="iconSymbol0AG"
gallery label=" AR - ARGENTINA" src="com/assets/images/countriesFlagsRoundLarge/ar.png"
gallery label=" Mauricio Photography" src="com/assets/images/PageOne/PhotographyBlogs/BlankArtists/AR/TheMauricioBlog.swf"
file label=" Web Site" icon="iconSymbolAR" src="com/assets/images/PageOne/PhotographyBlogs/WebSites/AR/TheCollazosBlog.swf"
gallery
按照 Amy 的建议,我尝试了:
public var m_icoDefaultLeaf:Class;
private static var m_oDummyTree:Tree;
private static var m_xmlDummy:XML;
...
m_oDummyTree = new Tree;
m_xmlDummy = <dummynode />;
m_oDummyTree.dataProvider = m_xmlDummy;
m_oDummyTree.addEventListener(FlexEvent.CREATION_COMPLETE,
function (evt:FlexEvent):void {
m_icoDefaultLeaf = m_oDummyTree.itemToIcon(m_xmlDummy);
removeChild(m_oDummyTree);
m_oDummyTree = null;
m_xmlDummy = null;
}
);
addChild(m_oDummyTree);
然后我只是在 XML 中使用 icon="m_icoDefaultLeaf"
作为叶子,令人惊讶的是,它起作用了!
是的,它确实有那么复杂。我必须处理那个事件,我必须将树添加为某物的子项。
我尝试的另一件事是擦除所有代码并只使用
public var m_icoDefaultLeaf:Class = null;
但这只是一个空白图标,不是默认图标。