Привязка данных из метода во Flex - PullRequest
1 голос
/ 27 сентября 2010

У меня есть следующий mxml (для краткости опущены некоторые части):

<fx:Script>
    [Bindable]
    private var _dataSet:IDataSet;

    public function set dataSet(value:IDataSet)
    {
      _dataSet = value;
    }

    private function getColorItem(itemName:*):String
    {
      if (itemName == "Research")  return "#31e5fc";
      ...
      else {
        trace("Unknown item : " + itemName);
        return #ffffff;
      }
    }  
</fx:Script>
<spark:RichText color="{this.getColorItem(this._dataSet.name)}" ... />

Кто-нибудь знает, почему цвет не применяется? Если я изменю привязку к методу для константы String (т.е. # 31e5fc), она будет работать нормально?

Мне нужно изменить цвет в соответствии с данными, полученными этим компонентом. Любая помощь в том, где я делаю ошибку, очень ценится.

1 Ответ

1 голос
/ 27 сентября 2010

У вас здесь есть несколько странных вещей. Во-первых, ваша функция getColorItem должна возвращать uint, а не String. Во-вторых, почему бы просто не вызвать getColorItem из вашего установщика dataSet? Примерно так:

public function set dataSet(value:IDataSet)
{
    _dataSet = value;
    myRichText.setStyle("color", getColorItem(_dataSet.name);
}

Надеюсь, это поможет.

...