2012-06-24 3 views
0

스레드를 사용하여 외부 응용 프로그램에서 WPF 양식을 여는 중입니다. 양식 (대화 상자)을 열고 그 후에 주 응용 프로그램에 응답 (개체)을 반환해야합니다. .. 나는 실제로 InvalidOperationException 오류가 발생했습니다. 구성원에게 액세스하려면 트레이가 있습니다. BackgroundWorker도 시도했지만 문제를 해결할 수 없습니다.WPF 반환 값 Thread

+0

다른 응용 프로그램에서? 당신의 설명에서 당신은 당신이 현재있는 것처럼 보이는 수준보다 훨씬 높은 레벨에있는 것을하려고 시도하고 있습니다. 당신은 [편집]하고 명확하게해야합니다. – Will

+0

예외가 발생하는 코드를 게시 할 수 있습니까? – alexm

답변

-1
var t = Task<RETURNED_OBJECT>.Factory.StartNew(() => DIALOG()); 
    t.Result; 

이 경우 Dialog()는 새 작업에서 실행됩니다. 스레드가 닫히면 (예 : Dialog가 닫힘) 해당 대화 상자의 결과가 t.Result에 저장됩니다.

+0

작업이 주 UI 스레드 여야하는 적절한 동기화 컨텍스트에서 실행된다는 보장은 없습니다. – alexm