我知道 AdvancedDataGrid 有一个 styleFunction 回调,但我不想更改样式;我希望 itemRenderer 获得其他所有内容(包括普通列)使用的全局样式。
我的内嵌项目渲染器使用默认样式,但不是我作为单独的 MXML 类创建的那些(它们扩展了 Canvas)。
我需要摇动以将样式传播到我的项目渲染器中的任何句柄?
谢谢
我知道 AdvancedDataGrid 有一个 styleFunction 回调,但我不想更改样式;我希望 itemRenderer 获得其他所有内容(包括普通列)使用的全局样式。
我的内嵌项目渲染器使用默认样式,但不是我作为单独的 MXML 类创建的那些(它们扩展了 Canvas)。
我需要摇动以将样式传播到我的项目渲染器中的任何句柄?
谢谢
我不认为你可以传播。似乎 styleFunction 是完全不同的东西。但是你可以访问任何 CSS 属性
var styleDecl:CSSStyleDeclaration = StyleManager.getStyleDeclaration("YourTagOrClassName");
接着:
styleDecl.getStyle(property);
如果你想直接从 AdvancedDataGrid 获取样式声明,你必须获取渲染器 listData:
<?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 的风格;该组件的样式未默认为全局样式。