많은 UI 구성 요소에서 호출 스레드가 필요하므로 해당 스레드는 STA여야 합니다.
혹은
"다른 스레드가 소유하고 있는 오브젝트에 현재 스레드가 접근할 수 없다"
(The calling thread cannot access this object because a different thread owns it.)
이런식의 오류가 나기도 합니다.
하도 오랜만에 WPF를 해서 감이 없네요;;
WPF나 실버라이트에서 타이머는 다른 쓰래드기때문에 UI쓰래드를 접근할때 에러가 납니다.
이럴때는 윈폼과 마찬가지로 인보크를 사용하여 작업을 해야 합니다.
(참고 : MSDN - Dispatcher.Invoke 메서드)
간단하게 이포크를 사용할 수 있습니다.
Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate
{
//사용할 메서드 및 동작
ScrollGraph_001.AddStep(LastData);
}));
[참조] http://blog.danggun.net/1715
'WPF' 카테고리의 다른 글
[WPF] Prism (0) | 2018.07.04 |
---|---|
[WPF] Routed Event (0) | 2018.07.04 |
[WPF] MVVM (0) | 2018.07.04 |