Flex / AIR: DropDownList не всегда открывается при клике - PullRequest
0 голосов
/ 12 мая 2011

У меня есть приложение AIR с 2-3 DropDownLists и кучей других элементов управления. Списки DropDownLists связаны с поставщиками данных (ArrayCollections) в центральном синглтоне модели. При запуске все они работают нормально.

Однако, когда я нажимаю кнопку, чтобы добавить новые объекты к объекту в другой коллекции ArrayCollection в той же модели, DropDownLists становятся странными. Они по-прежнему регистрируют клики, и все остальные элементы управления по-прежнему работают, как и раньше, но раскрывающиеся списки не открываются. Достаточное нажатие / ожидание обычно открывает выпадающий список, но если я не сделаю другой выбор, он все равно не откроется после закрытия. При выборе другого варианта этот DropDownList снова будет работать, но другие могут все еще не открыться.

Если я открываю выпадающие списки, используя клавиши Ctrl + Стрелка вниз, они работают постоянно, поэтому только щелчок не вызывает корректное открытие. Я могу обойти эту проблему, вызывая openDropDown() в раскрывающемся списке при нажатии, но это не так.

Я использую 4.1 SDK, и раскрывающиеся списки s: DropDownLists. Я попытался использовать mx: ComboBoxes, но получил то же самое поведение. Редактировать: Как ни странно, используя s: ComboBox, они работают так, как должны, но я действительно не хочу их использовать, поскольку их, по-видимому, нельзя сделать недоступными для редактирования.

Кто-нибудь сталкивался с этим раньше и сумел решить? Любые предложения приветствуются.

Ответы [ 2 ]

1 голос
/ 16 июня 2011

После долгих раздумий с этим кажется, что проблема возникает, когда у меня есть ToggleButtonBar, у которого установлен атрибут enabled на основе атрибута в модели представления, которую я имею для представления.Другие элементы управления отлично справляются с

enabled="{model.certainObject != null}"

, но не с ToggleButtonBar.Он устанавливает атрибут так, как должен, но как-то, кажется, вызывает проблему выпадающего списка, которая у меня была.Думаю, я не буду использовать ToggleButtonBar ... = /

0 голосов
/ 12 мая 2011

Первое, что нужно проверить: помечены ли вы ArrayCollections как привязываемые в вашей модели Singleton? Связаны ли ваши ArrayCollections со значениями в модели Singleton?

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

Еще одна вещь, которую нужно проверить: я видел действительно странные результаты, если вы используете одну и ту же коллекцию как dataProvider для нескольких ComboBox. (Я предполагаю, что такое же странное поведение сохранится, если использовать несколько DropDownLists)

Но я просто догадываюсь здесь. Скорее всего, что-то не так в вашем коде. Можете ли вы предоставить работающий образец, чтобы продемонстрировать свою проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...