2012-03-27 3 views
0

방금 ​​전에 발견 한 애플리케이션을 완전히 다른 해상도로 미러링 된 창에서 실행해야합니다. WPF의 다른 창에서 창을 미러링/복제해야합니다.

This link describes how multiple windows can each have different UI threads

나는 나의 창은 성능상의 이유로 다른 UI 스레드에서 실행해야합니다 생각합니다. 이제 한 창에서 볼 수있는 영역을 다른 창에서 대칭시켜야합니다. 나는 첫 번째 창에 두 번째 창의 DataContext를 설정하려고했지만 다른 스레드 (위 링크의 수정 된 버전)이므로 예외가 발생합니다.

 Thread thread = new Thread(() => 
     { 
      MainWindow w = new MainWindow(); 
      w.DataContext = MainWindow.DataContextProperty; 
      w.Show(); 

      w.Closed += (sender2, e2) => 
      w.Dispatcher.InvokeShutdown(); 

      System.Windows.Threading.Dispatcher.Run(); 
     }); 

     thread.SetApartmentState(ApartmentState.STA); 
     thread.Start(); 

아이디어가 있으십니까?

답변

관련 문제