C# 프로그래밍에서 UI쓰레드 외의 다른 쓰레드에서 UI컴포넌트를 변경하면 발생하는 에러이다.

좀 더 정확히 얘기하면, WPF에서 바인딩 된 변수를 UI쓰레드가 아닌 다른 쓰레드에서 변경하면 해당 예외를 볼 수 있다.


관련 설명은 

http://www.csharpstudy.com/WinForms/WinForms-thread.aspx

https://stackoverflow.com/questions/26361020/error-must-create-dependencysource-on-same-thread-as-the-dependencyobject-even


해결방법은

https://www.codeproject.com/questions/873872/eror-dependencysource-on-same-thread-as-the-depend

https://social.msdn.microsoft.com/Forums/vstudio/en-US/7262a256-62cb-4b50-88c0-d114ef001a1b/wpf-amp-c-error-must-create-dependencysource-on-same-thread-as-the-dependencyobject?forum=wpf


마지막 링크를 보면 사용자 쓰레드를 어떻게 생생해야 하는지 알 수 있다.


나의 경우에는 아래 구문으로 해결


MainWindow.xaml.cs

public partial class MainWindow : Window

{

private void 예외를발생하는함수()

{

this.Dispatcher.BeginInvoke(new ThreadStart(() =>

{

쓰레드에서 실행할 작업;

}));

}

}



+ Recent posts