Распространение событий, пока контейнер не инициализирован - PullRequest
0 голосов
/ 16 июня 2010

У меня есть Canvas (назовем его Drop Box), на который пользователи могут перетаскивать внешние файлы.Рядом с этим у меня есть ViewStack, одним из слоев которого является Canvas с TileList.Мне удалось закодировать его так, чтобы элементы, помещенные в Drop Box, отображались в TileList.Я просто фиксирую событие отбрасывания darg (давайте вызовем это событие A) и отправляю новое, которое прослушивает TileList (давайте вызовем это событие B).

Однако это работает, только если установлен ViewStack selectedIndexна холст с TileList.Если Canvas с TileList не выбран, то прослушиватель событий, который добавляется в TileList на уровне CreationComplete (событие B), не будет вызываться до тех пор, пока не отправлено событие перетаскивания (событие B).Это означает, что что-то срабатывает до того, как что-то успевает его прослушать!

Я пробовал зацикливаться, пока Canvas с TileList полностью не отрисовывается, но это приводит к зависанию приложения.

Я также пытался передать событие в Canvas и сохранить его локально, но когда я пытаюсь получить доступ к буфере обмена события, я получаю сообщение об ошибке (мертвый буфер обмена).

Фактически я хочу отправить толькособытие в Canvas после того, как у него была возможность загрузить и добавить прослушиватель событий в TileList.

Есть идеи?:)

1 Ответ

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

Может быть, настройка creationPolicy="all" для View Stack поможет?Все его дети будут созданы при запуске.

...