Mobile Develop/WinMoDev Q&A

OnNavigatedTo..

Lunaness 2010. 10. 8. 11:52
질문자 : 모바일개발쟁이 링크 : http://cafe.naver.com/winmodev/3693
<질문내용>

OnNavigatedTo 이걸로

 

오버라이딩 해서 Back눌르면 위 메소드로 호출 되는건 확인 했는데..

 

월레 대로 돌아 오는 애니메이션을 만들었는데

 

Begin() 하니깐

애니메이션 효과가 다 적용되지 않는 상태에서 화면이 돌아 오네요..

 

어떻게 진행 해야되느걸까요?

<답변내용>

페이지 부분의 에니메이션 시간에 대한 문제 인 것 같은데요

Back으로 돌아오면서 에니메이션을 begin()으로 실행하도록 합니다

이때는 에니메이션이 다 재생되고 난 뒤에 나머지 이벤트가 진행되는게 아니라

에니메이션 재생을 시켜두고 다음 명령으로 진행하게 됩니다

비동기식 이라고 이해하시면 되겠네요 :)

 

이래서 이러한 부분에서 에니메이션이 종료된 뒤 명령을 수행하도록 하는 방법이 좋을 것 같은데요

Completed 라는 이벤트를 이용하시면 됩니다

 

사용방법은 아래와 같습니다

 

Animation1.Completed += new EventHandler(Animation1_Completed);

.....

 

void Animation1_Completed(object sender, EventArgs e)
{

         // OnNavigatedTo()에서 에니메이션 Begin이후 처리할 내용 작성
}

 

이런식으로 추가하신다면 에니메이션이 실행되고 난 뒤에 작업이 이루어지도록 할 수 있습니다

 

이 외에도, 에니메이션 재생 시간을 줄인다던지,

아니면 다른 페이지에서 back을 눌렀을 때 이벤트를 추가해서 작업한다던지 하는 방법이 있습니다

작성일 : 2010.09.27 17:09

보다 자세한 정보는 윈도우 폰/모바일 개발자 모임에서 만나보실 수 있습니다