Flex AdvancedDataGrid: MXML ItemRenderers не использует стиль по умолчанию - PullRequest
1 голос
/ 29 января 2009

Я знаю, что AdvancedDataGrid имеет обратный вызов styleFunction, но я не хочу менять стиль; Я хочу, чтобы itemRenderer получил глобальный стиль, который использует все остальное (включая обычные столбцы).

Мои встроенные средства визуализации элементов используют стиль по умолчанию, но не те, которые я создал как отдельные классы MXML (они расширяют Canvas).

Какая ручка мне нужна, чтобы распространять стиль в моих средствах визуализации элементов?

Спасибо

Ответы [ 2 ]

1 голос
/ 31 января 2009

Я не думаю, что вы можете размножаться. Похоже, styleFunction для чего-то совершенно другого. Но вы можете получить доступ к любому свойству CSS

var styleDecl:CSSStyleDeclaration = StyleManager.getStyleDeclaration("YourTagOrClassName");

и затем:

styleDecl.getStyle(property);

Если вы хотите получить объявление стиля непосредственно из AdvancedDataGrid, вы должны получить список данных визуализации:

<?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>
0 голосов
/ 02 февраля 2009

Мой плохой

Он выбирал стиль из ADG; стиль этого компонента не был установлен по умолчанию в глобальном стиле.

...