1

AdvancedDataGrid に styleFunction コールバックがあることは知っていますが、スタイルを変更したくありません。itemRenderer が、他のすべて (通常の列を含む) が使用するグローバル スタイルを取得するようにします。

私のインライン アイテム レンダラーはデフォルト スタイルを使用しますが、別の MXML クラスとして作成したものは使用しません (Canvas を拡張します)。

スタイルをアイテムレンダラーに伝播するためにジグルする必要があるハンドルはありますか?

ありがとう

4

2 に答える 2

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>
于 2009-01-31T01:50:42.247 に答える
0

私の悪い

ADG のスタイルを取り入れていました。そのコンポーネントのスタイルは、デフォルトでグローバル スタイルに設定されていませんでした。

于 2009-02-02T20:37:02.407 に答える