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(() =>
{
쓰레드에서 실행할 작업;
}));
}
}