Flex: вложенные теги в MXML == метод запуска .... как это настроить? - PullRequest
0 голосов
/ 16 сентября 2009

У меня есть класс с именем JDChart и класс с именем JDLine. Внутри JDChart есть метод addLine (), который ожидает 1 параметр типа JDLine. Это все хорошо. но я хочу иметь возможность поместить это в XML, как это:

<JDChart>
<JDLine/>
<JDLine/>
<JDLine/>
</JDChart>

И для каждой JDLine, вложенной в JDChart в MXML, я хочу, чтобы метод addLine () вызывался на JDChart с соответствующей переданной JDLine.

Что я хочу сделать с тех пор? Я не уверен, как это настроить? Я предполагаю, что я должен использовать мета-теги в классе JDChart где-нибудь, чтобы сказать компилятору сделать это? Кто-нибудь знает?

Спасибо !!

Ответы [ 2 ]

0 голосов
/ 17 сентября 2009

Если объекты JDLine собираются создавать только для объектов JDChart, используйте это.

В обработчик событий added класса JDLine добавьте следующий код:

public function onAdded(e:Event):void
{
  var chart:JDChart = this.parent as JDChart;
  if(!chart)
    throw new Error("Parent is not JDChart");
  chart.addLine(this);
}
0 голосов
/ 16 сентября 2009

Я полагаю, что когда вы добавляете вещи в MXML, они просто конструируют их, а затем вызывают addChild ().

Вы можете переопределить JDChart addChild () и проверить тип того, что добавляется. Если это JDLine, вы можете передать его в свой метод addLine (), прежде чем передать его в super.addChild ().

...