2010-02-15 8 views
3

내가 시각적 개체 (CustomControls)의 목록을 가지고 있다고 가정 해 봅시다. StackPanel 안에 있거나 ListView에있는 항목 일 수 있습니다. 컨테이너가이 질문에 대한 대답의 일부라고 생각합니다.WPF : 구성 요소 목록에 애니메이션을 적용하는 방법?

시각적으로 이러한 개체를 큐의 항목으로 생각할 수 있습니다. 이 큐의 맨 아래에서 오브젝트를 팝 할 때마다 뷰 프레임에서 빠져 나온 오브젝트와 전체 큐를 애니메이션하고 싶습니다. 새로운 프레임 (보기 프레임은 서브 세트 만 표시합니다)이 나머지 요소들.

이 애니메이션을 만드는 가장 좋은 방법은 무엇이며 무엇이 가장 좋은 컨테이너입니까?

답변

5

Kevin Moore의 AnimatingTilePanel을 살펴보십시오. 요소가 패널에 추가되거나 패널에서 제거되면 나머지 항목은 움직이지 않게 이동하거나 공간을 통해 왼쪽으로 차지하도록 움직입니다. StackPanel 논리를 기반으로하는 것을 제외하고는 비슷한 것을하고 싶을 것입니다.

두 부분으로 문제에 접근하고 싶습니다. 두 번째는 아마도 훨씬 쉬울 것입니다.

  1. 원하는 방식으로 자식을 움직이는 패널 (컨트롤 아님)을 만듭니다.
  2. 기본 스택 패널 대신 새 패널을 사용하는 ItemsPanelTemplate을 지정하는 ListBox 템플릿을 만듭니다.

결국 사용자 지정 ListBox 컨트롤을 전혀 만들지 않아도된다는 아이디어가 있습니다. ListBox와의 상호 작용 (Items 속성 또는 바운드 컬렉션을 통한 것)은 전혀 애니메이션이없는 경우와 완전히 동일하게 수행됩니다. 애니메이션을 제공하는 작업을 수행하기 위해 사용자 정의 Panel 클래스를 사용합니다.

나는 또한 매우 비슷하지만 멋진 실버 라이트 기반의 쇼케이스 거기에이 샘플, AnimatedLayoutPanel을 발견
UPDATE.

+0

첫 번째 링크는 깨졌습니다 : ( – metao

관련 문제