본문 바로가기

Silverlight

VisualStateManager 의 CurrentStateChanged 와 CurrentStateChanging

개요

오늘은 VisualStateManager  에서 CurrentStateChanged 와 CurrentStateChaging 에 대해서 알아 보도록 하겠습니다.
우선 MSDN 에서 찾아 보면

요렇게 나와있습니다. 말그대로
CurrentStateChanged 는 control이 다른 상태로 가고 난 후에 발생하고
CurrentStateChanging 는 control  다른 상태로 갈때 즉 시작 할때 발생을 합니다
여기서 중요한 점은 이 이벤트들은 VisualTransition 여기에 반응을 하고  Storyboard 의 KeyTime 에 반응을 하지 않는다는것 입니다.

Storyboard 의 KeyTime 이 끝날때 반응을 하기 위해서는 원하는 storyboard 의 completed 이벤트를 이용하면 됩니다.

예제

시작

Go 버튼을 누르게 되면 CurrentStateChaging 이벤트에 의해 버튼 옆에 TextBlock 에 Start가 입력되게 되고


종료

5초간의 Transition 타임이 다 끝나고 나면 CurrentStateChanged 이벤트에 의해 End 라는 글자가 TextBox에 입력되게됩니다.

소스