2008-10-27 3 views
3

У меня есть сценарий, в котором я хотел бы анимировать элемент управления WPF прямо перед его удалением из визуальных/логических деревьев. Элемент управления является обычным, и стиль управления, включая анимацию, будет предоставлен дизайнером (т. Е. Я не знаю подробностей того, что они будут в момент написания управляющего кода). Я хотел бы предоставить маршрутизированные события, которые позволяют дизайнеру запускать анимацию непосредственно перед удалением объекта (например, пользователь перетаскивает элемент управления с помощью мыши, а когда кнопка мыши отпускается, элемент управления может медленно исчезать, вместо того, удалены из визуального/логического дерева). Возможно ли это только с помощью маршрутизируемых событий? Можно ли обнаружить, когда анимация завершилась, не требуя от дизайнера установить свойство изворотливой зависимости или в конце анимации, чтобы вызвать удаление элемента управления? Использование свойства зависимости создало бы утечку памяти, если разработчику не удалось установить свойство. Есть ли способ лучше?Как завершить анимацию управления WPF перед удалением из визуального дерева

ответ

2

Каждая раскадровка имеет событие Completed, которое вызывается, когда анимация выполнена. Вы должны обработать это событие и удалить элемент управления из этого события. Таким образом, вы можете просто начать анимацию при отпускании кнопки мыши.

+1

Не зная раскадровку по имени, как я могу обработать событие Completed? (Я предполагаю, что элемент управления настроен дизайнером и может включать или не включать анимацию). Выполняет ли законченное событие единственный способ? – 2008-10-27 19:31:29

Смежные вопросы