var t = new Thread(new ParameterizedThreadStart(DoWork));
t.SetApartmentState(ApartmentState.STA);
t.IsBackground = true;
t.Start(App.Current.MainWindow);
public static void DoWork(object owner)
{
var progressDlg = new ProgressBarDialog();
// progressDlg.Owner = (Window)owner; // This doesn't work
progressDlg.ShowDialog();
}
자, 제발 작동하게 만들 수 있습니까?다른 스레드에서 Window에 액세스하는 방법?
예제의 App.Current.MainWindow는 다른 스레드에서 액세스 할 수 없습니다.
Parallel.Invoke()의 새로운 멋진 방법에 대해서도 들었지만이 상황에 적용 할 수 있는지 여부는 알 수 없습니다. 어떻게 작동하는지 보여 주시면 고맙습니다.
난 단지 ProgressBarDialog을 가정 할 수있다 준 같은 대답을하다이
같은
뭔가 내가 WPF 창을 추측, 어떤 종류의 창입니다. 한 스레드에서 UI 요소를 만들고 소유자를 다른 스레드에 속한 것으로 설정할 수 없습니다. –