[c# 오류]System.InvalidOperationException: '많은 UI 구성 요소에서 호출 스레드가 필요하므로 해당 스레드는 STA여야 합니다.'
개발공부/C#
2023. 9. 13. 16:17
오류 내용 System.InvalidOperationException: '많은 UI 구성 요소에서 호출 스레드가 필요하므로 해당 스레드는 STA여야 합니다.' 오류 이유 WPF나 실버라이트에서 타이머는 다른 쓰래드기때문에 UI쓰래드를 접근할때 에러가 난다고 한다. 이럴때는 윈폼과 마찬가지로 인보크를 사용하여 작업을 해야 한다. 해결 방법 // 다른 쓰레드에서 UI 쓰레드 접근하기 => 윈폼과 마찬가지로 인보크를 사용하여 작업 Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate { // 실행 할 부분 넣기 })); 이렇게 처리하니 해결되었다. invoke는 동기적으로 실행된다고 한다. 아직 c#이 어렵다.. 참고 링크 https://learn..