2008-10-27 4 views
3

시각적/논리적 트리에서 제거하기 전에 WPF 컨트롤을 애니메이션으로 적용하는 시나리오가 있습니다. 컨트롤은 맞춤식이며 애니메이션을 포함한 컨트롤 스타일은 디자이너가 제공합니다 (즉, 컨트롤 코드를 작성할 때 어떤 내용인지는 알 수 없습니다). 개체가 제거되기 전에 디자이너가 애니메이션을 트리거 할 수있게 해주는 라우트 된 이벤트를 제공하고 싶습니다 (예 : 사용자가 마우스로 컨트롤을 드래그하는 경우, 마우스 단추를 놓으면 컨트롤이 갑자기 사라지는 대신 천천히 사라짐). 시각적/논리적 트리에서 제거됨). 라우팅 된 이벤트를 사용하는 것만 가능합니까? 디자이너가 기발한 의존성 속성을 설정하지 않거나 애니메이션의 끝에서 컨트롤의 제거를 트리거하지 않고 애니메이션이 완료되었을 때를 감지 할 수 있습니까? 디자이너가 속성을 설정하지 못하면 종속성 속성을 사용하면 메모리 누수가 발생합니다. 더 좋은 방법이 있습니까?비주얼 트리에서 제거하기 전에 WPF 컨트롤 애니메이션을 완료하는 방법

답변

2

모든 스토리 보드에는 애니메이션이 완료 될 때 호출되는 완료 이벤트가 있습니다. 해당 이벤트를 처리하고 해당 이벤트에서 컨트롤을 삭제해야합니다. 그렇게하면 마우스 버튼을 놓을 때 애니메이션을 시작할 수 있습니다.

+1

이름으로 스토리 보드를 알지 못하면 Completed 이벤트를 어떻게 처리 할 수 ​​있습니까? (저는 컨트롤이 디자이너에 의해 템플리트되어 있고 애니메이션을 포함하지 않을 수도 있습니다). 완료된 이벤트를 처리하는 것이 유일한 방법입니까? –

관련 문제