2013-08-13 2 views
0

Мне нужно получить все свойства гибких диаграмм, используя/вызывая соответствующий график. Пример Для диаграммы окружности Flex мы имеем xField, yField и minField.Получить свойства графиков Adobe Flex

Есть ли способ получить эти свойства из каждой диаграммы с помощью любых методов.

ответ

0

На диаграммах нет методов, которые сделают это. Если вы хотите узнать свойства диаграммы и их серий, вам нужно будет сделать это через отражение.

Вы можете использовать глобальный метод describeType() для любого объекта для этого. Это вернет вам объект XML, содержащий все свойства объекта.

Существует также API поверх describeType, что позволяет для более легкого доступа и самоанализа объектов: AS3Commons Reflect

0

Может быть, этот код будет полезным, является примером для просмотра всей информации о ChartBase объекта:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" minWidth="955" minHeight="600" creationComplete="init()"> 
    <mx:Script> 
     <![CDATA[ 
      import mx.charts.chartClasses.ChartBase; 

      public function init():void{ 
       getInfo(new ChartBase()); 
      } 

      private function getInfo(obj:Object):void{ 
       txt1.text = describeType(obj); 
       var myXML:XMLList = new XMLList(describeType(obj)); 
       var info:String = ""; 
       for each(var node:XML in myXML.children()){ 
        switch(node.name().toString()) 
        { 
         case "variable": 
         { 
          info = info + "var - " + [email protected] + "\n"; //properties 
          break; 
         } 
         case "accessor": 
         { 
          info = info + "accessor - " + [email protected] + "\n"; //getter-setter 
          break; 
         } 
         case "method": 
         { 
          info = info + "method - " + [email protected] + "\n"; //methods 
          break; 
         }        
        } 
        txt2.text = info; 
       } 

      } 
     ]]> 
    </mx:Script> 
    <mx:Label text="View Information of 'ChartBase' Object"/> 
    <mx:HBox width="100%"> 
     <mx:HBox width="50%"> 
      <mx:VBox width="100%" height="100%"> 
       <mx:Label text="All Object Information"/> 
       <mx:TextArea id="txt1" width="800" height="800"/> 
      </mx:VBox> 
     </mx:HBox> 
     <mx:HBox width="50%"> 
      <mx:VBox width="100%" height="100%"> 
       <mx:Label text="Properties,Accessor and Methods from this Object"/> 
       <mx:TextArea id="txt2" width="800" height="800"/> 
      </mx:VBox> 
     </mx:HBox>  
    </mx:HBox> 
</mx:Application> 

В основном метод describeType возвращает XML с информацией об объекте.

Здесь вы можете запустить SWF с этим кодом LINK.

+0

Благодарим вас за ценный ответ. – user2677772

+0

@ user2677772: Добро пожаловать. Не удалось решить проблему с информацией, которую я опубликовал? –