WP7에서 photochooser를 호출하는 코드가 있으며 그림이 2MB 이상인 경우 사용자에게 메시지 상자를 표시하려고합니다. 이 작업을 수행하려고하면 photochooser 작업이 백그라운드에서 실행되기 때문에 처리되지 않은 예외가 발생하기 시작합니다.Photochooser 작업 내에서 MessageBox를 호출하는 방법
void photoChooserTask_Completed(object sender, PhotoResult e)
{
if (e.ChosenPhoto != null)
{
ProgressBar.Visibility = Visibility.Visible;
image = _UploadImgeViewModel.ReadToEnd(e.ChosenPhoto);
if (image.Length < 16384)
{
BitmapImage bi = new BitmapImage();
bi.SetSource(e.ChosenPhoto);
UserSession.ProfileImage = bi;
Session.PreviousImage = bi;
UserSession.isImageChanged = true;
UserSession.image = image;
UserSession.Uploadimage = image;
NavigationService.Navigated += new NavigatedEventHandler(navigateCompleted);
}
else
{
ProgressBar.Visibility = Visibility.Collapsed;
UserSession.isImageChanged = false;
UserSession.ProfileImage = null;
Dispatcher.BeginInvoke(() => MessageBox.Show("The message"));
}
}
}
#endregion
이것은 백그라운드 작업을 다시 시작하는 것으로 표시하고 전경의 msg 상자 만 표시합니다. 몇 초 후에 앱이 다운됩니다. 도와 주시겠습니까?
왜 백그라운드에서'PhotochooserTask'를 실행? 그리고 어떤 오류가 있습니까? – keyboardP
포 그라운드로 완전히 돌아 오는 데 10 초가 걸리거나 앱이 종료됩니다. 여기에 표시 할 수있는 메시지 상자가 있으면 사용자가 인증을 실패합니다 (사용자가 10 초 동안 아무 것도 클릭 할 수 없기 때문에). 페이지가로드 될 때까지 기다려야합니다. –
내 사진에서 사용자의 프로필 사진을 업로드하는 데 단순히 photoschooser 작업을 사용하고 있습니다. 그것을하는 동안, 나는 photoschooser가 배경에서 아직도 달리고있는 동안 심상이 2Mb 이상다는 것을 사용자에게 msg를 보여주고 싶다. 사실, MessageBox는 photochooser를 멈추고 다시 시작하는 것을 볼 수 있습니다 ... 그리고 진행률 표시 줄과 앱이 충돌합니다. 이 MessageBox를 제거하면 크래시가 표시되지 않습니다. –