這是在與我的第一個問題第二個問題:flex 4:mx | Tree如何禁用懸停和選擇顏色?
Flex 4: mx|tree - how can i disable items selection?
我想禁用懸停和選擇的顏色,以便當用戶選擇它的背景不會改變顏色的項目。這怎麼可能?
更新
我不想選擇選擇和盤旋的顏色。背景包含一個圖像,所以它不會有用。我需要徹底禁用顏色。
另一個更新
我試圖重寫樹類,但沒有運氣。
這是覆蓋樹類的類:
package components.popups.WelcomeBack {
import mx.controls.listClasses.IListItemRenderer;
import mx.controls.Tree;
/**
* @author ufk
*/
public class TreeNoSelection extends Tree {
protected override function drawItem(item:IListItemRenderer,
selected:Boolean = false,
highlighted:Boolean = false,
caret:Boolean = false,
transition:Boolean = false):void
{
super.drawItem(item, false, false, false, transition);
}
}
}
,這是我的實際樹組件:
<?xml version="1.0" encoding="utf-8"?>
<WelcomeBack:TreeNoSelection xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:WelcomeBack="components.popups.WelcomeBack.*" folderClosedIcon="{null}" defaultLeafIcon="{null}"
folderOpenIcon="{null}"
showRoot="false"
allowMultipleSelection="false" allowDragSelection="false" labelField="@label">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import ItemRenderer.WelcomeBackTreeItemRenderer;
private var _themeLibrary:Object;
public function get themeLibrary():Object {
return this._themeLibrary;
}
public function set themeLibrary(tl:Object):void {
this._themeLibrary=tl;
var cf:ClassFactory = new ClassFactory();
cf.generator = ItemRenderer.WelcomeBackTreeItemRenderer;
cf.properties = {
_themeLibrary:this._themeLibrary
};
this.itemRenderer=cf;
}
]]>
</fx:Script>
</WelcomeBack:TreeNoSelection>
感謝
看起來很棒。要測試它。感謝 – ufk
不幸的是,它沒有解決問題。我可能會做錯事。我將代碼粘貼到我的主帖子中。請更新我。謝謝 – ufk
您能否以我們實際可以看到您使用的樹組件的方式進行編輯?基本上重要的是使用新的樹類而不是舊的類,在你的情況下TreeNoSelection。另外,確保你已經清除了瀏覽器緩存,或者至少它加載了你的新版本。 –