привязка к arraycollection не работает - PullRequest
1 голос
/ 23 мая 2010

Я использую Flex SDK 3.5. У меня есть model.as, и в нем у меня есть ArrayCollection (назовите его arr_mod), который является Bindable. Из моего mxml я ссылаюсь на этот arr_mod в трех местах:
1) в DataGrid я установил dataprovider = {arr_mode} ...
2) в кнопке я добавляю новый элемент в arr_mod следующим образом: mx: Button .. click = "{arr_mod.addItem (new Item)}"


3) в textBox я хочу добавить mx: TextBox text = "{mySpecialCounterFunc (arr_mod)}" обратите внимание, что в скрипте mxml arr_mod является Bindable, а также в определении класса в model.as

Проблема в том, что при нажатии на кнопку mySpecialCounterFunc не вызывается! он должен быть вызван, так как я использую {}, и это должно прослушивать изменения в arr_mod (изменение, которое было сделано в кнопке, должно привести к добавлению нового элемента .. и, чем слушатель ответит).
Пока DataGrid обновляется правильно!
Кстати, если я заменил arr_mod на простой String или Int, это сработает .. то есть mySpecialCounterFunc вызывается
Почему ??

1 Ответ

1 голос
/ 24 мая 2010

Я знаю, что иногда я испытывал странное поведение, связывающееся с ArrayCollection.Когда что-то не работает, я обычно переключаюсь с использования привязки MXML на размещение прямого прослушивателя событий для CollectionEvent.COLLECTION_CHANGE и на выполнение того, что я хочу сделать в этом обработчике событий.Я полагаю, что связывание MXML - просто синтаксический сахар для этого.

...