我知道AdvancedDataGrid有一個styleFunction回調,但我不想改變樣式;我希望itemRenderer獲得其他一切(包括普通列)使用的全局風格。Flex AdvancedDataGrid:MXML ItemRenderer不默認爲默認樣式
我的內嵌項呈示器使用默認樣式,但不是我作爲單獨的MXML類創建的樣式(它們擴展Canvas)。
任何我需要擺動來將風格傳播到我的項目渲染器中的句柄?
謝謝
我知道AdvancedDataGrid有一個styleFunction回調,但我不想改變樣式;我希望itemRenderer獲得其他一切(包括普通列)使用的全局風格。Flex AdvancedDataGrid:MXML ItemRenderer不默認爲默認樣式
我的內嵌項呈示器使用默認樣式,但不是我作爲單獨的MXML類創建的樣式(它們擴展Canvas)。
任何我需要擺動來將風格傳播到我的項目渲染器中的句柄?
謝謝
我不認爲你可以傳播。似乎styleFunction是完全不同的東西。如果您想直接從AdvancedDataGrid獲取樣式聲明
styleDecl.getStyle(property);
你必須得到渲染的ListData:但是你可以訪問任何CSS屬性
var styleDecl:CSSStyleDeclaration = StyleManager.getStyleDeclaration("YourTagOrClassName");
然後
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
implements="mx.controls.listClasses.IDropInListItemRenderer">
<mx:Script>
import mx.controls.dataGridClasses.DataGridListData;
import mx.controls.listClasses.BaseListData;
[Bindable("dataChange")] private var _listData : BaseListData;
public function get listData():BaseListData
{
return _listData;
}
public function set listData(value : BaseListData) : void
{
_listData = value;
}
override public function set data(value:Object):void
{
super.data = value;
if (this.listData)
((this.listData as DataGridListData).owner as AdvancedDataGrid).getStyle(...);
}
</mx:Script>
</mx:Canvas>
我壞
這是從ADG拿起風格;該組件的風格並未默認爲全局風格。