나는 많은 애플 리케이션이 HTTP 요청을하는 동안 화면 상단에서 "Updating ..."애니메이션을 보았다. 비동기 요청이 반환 될 때까지 기다리는 동안 앱에서 어떻게 만들 수 있습니까?HTTP 요청 중 애니메이션 업데이트 표시 방법
요청을 시작하는 메소드가 어떻게 든 애니메이션을 트리거하고 최종 응답을 처리하는 메소드가이를 중지한다고 가정합니다. 아니면 네트워크 트래픽이있을 때 자동으로 감지합니까?
나는 많은 애플 리케이션이 HTTP 요청을하는 동안 화면 상단에서 "Updating ..."애니메이션을 보았다. 비동기 요청이 반환 될 때까지 기다리는 동안 앱에서 어떻게 만들 수 있습니까?HTTP 요청 중 애니메이션 업데이트 표시 방법
요청을 시작하는 메소드가 어떻게 든 애니메이션을 트리거하고 최종 응답을 처리하는 메소드가이를 중지한다고 가정합니다. 아니면 네트워크 트래픽이있을 때 자동으로 감지합니까?
은 으로 설정되고 점을 얻으려면 미확인 모드로 설정하십시오.
요청을 시작하면 표시하고 요청이 완료되면 숨 깁니다. (또는 오류가있는 경우)
성능 고려 사항은 아래의 의견을 참조하십시오. &
void dl_DownloadStringCompleted2(object sender, DownloadStringCompletedEventArgs e)
{
progress.Visibility = Visibility.Collapsed;
progress.IsIndeterminate = false;
...
}
webclient.DownloadStringAsync(new Uri("http://example.com"));
progress.IsIndeterminate = true;
progress.Visibility = Visibility.Visible;
및
주석의 성능 제안으로 업데이트되었습니다. 감사합니다사용 ProgressBar.IsIndeterminate는 CPU 리소스의 60 % 이상을 사용합니다. 일부 애플리케이션을 죽일 수도 있고 (CPU주기를 많이 필요로하는 경우) 배터리를 소모시킬 수도 있습니다.
대안이 here
나는 또한 성능 문제로 인해, Silverligt Toolkit에서의 ProgressBar를 사용하는 제안 설명
아를 (이 UI에 비해 개의 다른 스레드에서 실행을 더 deatils는 here를 읽을 수 있습니다). 나는 그것이 더 상상력이 있다고 생각했다. 감사. – Edgar
그건 그렇고, 코드를 작성한 방식과 그것을 보여주기위한 비슷한 호출 때문에 응답 처리기에서 Deployment.Current.Dispatcher.BeginInvoke (HideLoader);를해야했습니다. – Edgar
참고 - ProgressBar를 불확정 모드로 사용하는 경우 고성능 변형 중 하나를 사용하십시오 - http://www.jeff.wilcox.name/2010/08/performanceprogressbar/ - SL WP7 Toolkit에도 포함됨 . – Stuart