我知道AdvancedDataGrid有一个styleFunction回调,但我不想改变样式;我希望itemRenderer获得其他所有内容(包括普通列)使用的全局样式。
我的内嵌项目渲染器使用默认样式,但不是我创建的单独MXML类(它们扩展Canvas)。
我需要摆动以将样式传播到我的项目渲染器中的任何句柄吗?
由于
答案 0 :(得分:1)
我认为你不能传播。看起来像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>
答案 1 :(得分:0)
我的坏
它正在从ADG中汲取风格;该组件的风格并未默认为全球风格。