배경 작업자의 DoWork
메서드에서 TreeView
컨트롤의 머리글 속성에 액세스하려고합니다.WPF 배경 작업자의 DoWork 메서드에 TreeView 전달
var worker = new BackgroundWorker();
worker.DoWork += DoWork;
worker.RunWorkerAsync(MyTreeView);
private void DoWork(object sender, DoWorkEventArgs e)
{
var x = (e.Argument as TreeView);
var item1 = x.Items[0] as TreeViewItem;
//error here..
var headerItem1 = item1.Header;
}
I 액세스하려는 속성이 다른 스레드 (내 경우에는 UI 스레드)가 소유하고 있다고 throw되는 오류 :
나는 다음과 같은 노력했다.
이 문제는 지금까지 TreeView
컨트롤에서만 발생했습니다. 합격 한 다음 Labels
또는 TextBlocks
과 같이 덜 복잡한 '컨트롤'에 액세스하면 정상적으로 작동합니다.
모든 답변 주셔서 감사합니다.
TreeView에서 Label 또는 TextBlock 컨트롤을 사용했을 때보 다 더 많은 데이터를 처리하고있을 가능성이 있습니다. 가능한 복제본 [https://stackoverflow.com/q/9732709/6026377](https://stackoverflow.com/q/9732709/6026377) –