다양한 테스트 결과를 생성하는 Windows 응용 프로그램에서 작업 중입니다. UI는 이벤트 핸들러로서 다양한 방법을 갖는 Results
버튼을 제공한다. 이 메소드는 API 모듈에 의해 제공됩니다. 모듈은웨어 하우스에서 데이터를 가져 와서 사용자에게 표시합니다. API 호출이 비동기입니다.Dispatcher를 사용하여 Wpf Ui를 차단 해제
하지만 버튼을 클릭하면 UI가 차단됩니다. Dispatcher는 백그라운드에서 프로세스를 실행하는 데 도움이된다는 것을 알게되었습니다. Dispatcher는 UI 스레드에 의해서만 호출되거나 호출 될 수 있습니다. UI를 차단하지 않도록 디스패처를 구현하려면 어떻게해야합니까?
C#에서 기능이
private async void get_results(object sender, RoutedEventArgs e)
{
List<resultsummary> data = new List<resultsummary>();
if(id==plan_id)
{
data= await getdata.getsummary(id, name);
}
}
편집과 같은 : -
이 비동기에 대한 이해이며, 위의 코드에서 기다리고 있습니다. 그러나 오류 cannot await
을 제공합니다. getdata
클래스는 differnet 네임 스페이스에 있으며 getsummary
메서드가 해당 공간에 정의되어 있습니다.
주된 목적은 UI를 차단 해제하고 Dispatcher 기술을 사용하여이 문제를 해결하는 것입니다.
+1 @ HighCore. 다시 ... 너의 일을 사랑해. – Sheridan