2010-04-14 2 views
1

일부 클래스의 StartDate (DateTime) 속성에 바인딩 된 여백 속성이있는 테두리 요소가 있습니다. 속성 변경 마진도 변경되었습니다 (변환기의 도움으로).Silverlight 및 데이터 바운드 속성 애니메이션 (여백)

되도록 원활하게 변경하고 싶습니다. 예를 들어, UI 측면에서 데이터 클래스의 한 시간은 화면의 15 픽셀과 같습니다. StartDate +/- 1 시간을 변경하면 요소 여백이 +/- 15 픽셀 오른쪽/왼쪽으로 점프하는 것을 볼 수 있습니다. 이거 움직여?

미리 감사드립니다.

BTW -이 여기 내 첫 번째 질문 :

답변

1

가 Unforunately는 기본적으로 애니메이션을 통해 마진을 조작 할 수있다. 마진은 실제로 Thickness 개체이며 개체는 간단한 속성 애니메이터가 직접 알아낼 수 없습니다.

  1. 이동 대신 여백의 객체의 위치 : Animate Margin Change in Silverlight

  2. 새로운 만들기

    그러나 아무것도 지금 - 일처럼,이 메소드를 오버라이드 (override)하는 방법에는 여러 가지가 있습니다 WPF의 ThicknessAnimation 클래스와 비슷한 클래스를 호출하여 코드에서 호출하십시오. http://blogs.msdn.com/blemmon/archive/2009/03/18/animating-margins-in-silverlight.aspx

  3. ... 또는 선호하는 방법 : 다른 애니메이션을 찾으십시오. 다른 개체를 움직이는 다른 개체를 조작 할 수 있습니다. 투명하고 투명한 오브젝트의 너비와 높이를 아주 쉽게 애니메이션으로 만들 수 있습니다. 해당 항목이 스택 패널의 첫 번째 항목이면 크기 값이 변경됨에 따라 해당 항목이 모두 이동합니다. 이것은 까다로운 일이 될 수 있지만, 실제로하는 것은 쉽습니다.

행운을 빈다!

관련 문제