Как позволить WPF Control Animation завершить перед удалением из дерева визуалов - PullRequest
3 голосов
/ 27 октября 2008

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

1 Ответ

2 голосов
/ 27 октября 2008

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

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