이 코드가 있는데이 코드를 사용하여 사용자가 라이브러리에서 이미지를 선택하고 내 앱의 배경으로 사용할 수있는 버튼을 표시합니다.PhotoChooserTask에 의해 처리되지 않은 예외가 발생했습니다.
그래서 PhotoChooserTask
을 만들고 카메라를 표시하도록 설정하고 작업 완료시 실행해야하는 메서드에 바인딩합니다. 버튼은 PhotoChooserTask
을 표시하여 작업을 시작합니다. 완료 작업은 매우 쉽습니다. 부울 값을 설정하고 이미지 소스를 업데이트해야합니다.
PhotoChooserTask pct_edit = new PhotoChooserTask();
pct_edit.ShowCamera = true;
pct_edit.Completed += pct_edit_Completed;
Button changeImageButton = new Button { Content = "Change Image" };
changeImageButton.Tap += (s, e) =>
{
pct_edit.Show();
};
void pct_edit_Completed(object sender, PhotoResult e)
{
if (e.TaskResult == TaskResult.OK)
{
bi.SetSource(e.ChosenPhoto);
IsRebuildNeeded = true;
}
}
문제는 App.xaml.cs
에
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
if (Debugger.IsAttached)
{
Debugger.Break();
}
}
에 데려가, 그것은 PhotoChooserTask
표시되지 않습니다하지만 나에게 예외를 줄 것입니다.
같은 클래스에 다른 PhotoChooserTask
이있어 이상하게 보입니다.이 하나는 정상적으로 작동합니다.
무엇이 문제입니까?
VisualStudio는 예외가 무엇인지 알려주지 않으므로 알아낼 방법이 없습니다!
편집 : 난 그냥 버튼의 탭 이벤트에
pct_edit.Show();
를 호출 할 때 예외가 발생되는 것을 발견
.
그게 내가 이미하고있는 (전체 클래스를 붙여 넣지는 않았지만 작업은 내 클래스의 필드로 선언되어 있습니다.) 문제는 버튼 내부에서 호출하면 작업이 작동하지 않는다는 것입니다. – StepTNT
다른 이벤트에서 작업을 시도 했습니까? 아마도 문제는 사실 당신의 버튼 일 것입니다. – steveg89
이벤트를 '탭'에서 '클릭'으로 변경했지만 아무 것도 변경되지 않았습니다. 작업이 표시되지만 응용 프로그램이 충돌하여 작업을 완료 할 수 없도록 예외가 throw됩니다. – StepTNT