2014-04-18 1 views
0

내 SL 응용 프로그램에는 주기적으로 화면의 데이터를 새로 고치는 DispatchTimer이 있습니다. 다음 번 새로 고침이 발생할 때 표시 할 사용자를위한 시각화를 만들고 싶습니다.타이머 작업에 대한 시각화를 만드는 방법

내 첫 번째 생각은 모든 밀리 초를 실행하는 타이머 (현재 20 초마다 실행)를 변경하고 각 틱은 ProgressBar을 업데이트하고 20 초가 기본 업데이트 방법을 실행하기까지 카운트 다운했습니다.

그러나 나는 이것을하는 더 좋은 방법이 있다는 느낌을 떨칠 수 없습니다. 이것은 꽤 무거워 보인다.

거기에 더 좋은 방법이 있나요?

답변

1

나는 끝까지 도달 할 때 다시 움직이는 애니메이션 진행률 막대를 만들 것입니다. 가장 쉬운 방법은 두 개의 직사각형을 만드는 것입니다. 하나는 서로 다른 색상으로 표시됩니다. 진행 막대의 0에서부터 길이까지 상단에있는 너비에 애니메이션을 적용하십시오. 애니메이션의 지속 시간을 나타내는 속성을 만들어 제어 할 수 있습니다. 그리고 새로 고침 작업과 동기화하는 시작 방법이있을 수 있습니다.

EDIT. msdn에 대한 예제가 있습니다 HERE (예제 섹션)

+0

이것은 다른 생각이었습니다. 그러나 왜 직사각형을 만드는 문제를 겪게 되나요? 이론적으로 적어도 Progress 속성을 조작하여 애니메이션을 만들 수 있습니까? – Shaamaan

+0

네, 가능할 수도 있습니다. 나는 내 대답을 편집했다. – mbudnik

+0

멋집니다. 내 유일한 질문은 ... MVVM 프로그래밍 모델을 사용할 때 어떻게 연결해야합니까? 모델에 타이머가 있고 업데이트를 수행합니다. "새로 고칠 때까지의 시간"백분율을 포함하는 속성을 설정하는 것은 쉽습니다. 그러나 UI에서 애니메이션을 트리거하는 방법에 대해서는 잘 모르겠습니다. 나는 인정한다. 나는 이전에 모델에 의해 트리거 된 애니메이션을 본 적이 없다. – Shaamaan

1

프로그레시브 바 (progres bar)의 아이디어는 그렇게 나쁘지 않습니다. 모든 밀리 초 또는 각 진드기를 자주 업데이트하는 경우가 많습니다. 1 초에 10 번이면 충분합니다.

관련 문제