У меня есть adobe flex datagrid с простым пользовательским ярлыком itemrenderer в одном из столбцов. Нажатие на itemrenderer запускает событие cairngorm, что приводит к выполнению служебного вызова, а данные из вызова службы заполняют TitleWindow.Adobe Flex Предотвращение двойного щелчка
Несмотря на то, что свойство doubleClickedEnabled присвоено false, его по-прежнему можно дважды щелкнуть по визуализатору элементов, в результате чего будут сделаны два вызова службы, и будут показаны два объекта TitleWindows. В других случаях тройной щелчок также вызывает нежелательный результат.
Есть ли способ предотвратить такое поведение?
Мне очень нравится этот метод, потому что я могу расширить его до всех вызовов службы. Я создал привязываемый SingleMonel ServiceModel, который хранит метод lastTime, метод и службу каждый раз, когда выполняется вызов службы. Затем я изменил baseDelegate, чтобы проверить параметры ServiceModel (lastTime, method, service) на текущий вызов службы - если это тот же метод и имя службы, а время меньше 500 мс, тогда не обрабатывайте его. Есть ли у вас какие-либо проблемы с этим? – JonoB
@JonoB, это может быть проблемой, если есть законная причина для вызова одного и того же метода обслуживания в цикле. Сравните это с тем, что пользователь имеет законную причину, чтобы щелкнуть ссылку несколько раз в течение 250 мс, и кажется, что делать это на обработчике событий было бы лучше. –
В моем приложении нет событий, имеющих один и тот же вызов службы от одного и того же клиента в течение 250 или 500 мс. Если есть, то это, вероятно, ошибка! В цикле, безусловно, нет вызовов службы. У меня также есть эти ссылки с одним кликом во многих местах в моем приложении, и я действительно не хочу идти и создавать обработчик событий для каждого из них. – JonoB