2014-03-05 3 views
0

WPF에서 현재 실행중인 작업의 상태를 표시하는 창을 만들었습니다.여러 개의 창, 여러 개의 스레드. 창 소유자 설정

이 창은 다음에서 파생 된 별도의 스레드에서 실행됩니다. Multiple Windows, Multiple Threads example.

내가 한 첫 번째 작업은 상위 소유자에게 표시되기를 원하기 때문에 내 상태 창의 소유자를 설정하는 것이 었습니다. 그것은 함께 최소화되어야하며 소유자 뒤에 숨겨져서는 안됩니다. WindowInteropHelper를 사용하여 소유자를 설정했습니다.

여기에 문제가 있습니다. 주 스레드가 사용 중이며 잠시 동안 진행 상황을보고하지 않는 동안 상태 표시 창이 응답을 중지합니다. 소유자가 바쁜 동안 어떻게 응답 할 수있는 자식 창을 유지할 수 있습니까?

+0

UI 스레드가 사용 중입니까? –

+0

@mckeown 예, 주 창 스레드가 사용 중입니다. – user3383864

+0

UI 작업 또는 작업/작업에 의해 처리 될 수있는 작업이 많습니다. –

답변

0

UI 스레드에서 무거운 작업을하는 것처럼 들립니다. 이 작업을 새 스레드로로드 해제 한 다음 상태 창 업데이트가있는 UI 스레드로 다시 호출해야합니다. 이렇게하면 백그라운드에서 작업이 진행되는 동안 상태 표시 줄이 계속 응답 할 것입니다.

제공된 링크의 창 예 위 섹션에 이에 대한 예가 나와 있습니다. 당신은 당신이 아니라 모든이 완료되면 바로 알 바 발전을하는 단계에서 결정해야합니다 진행률 표시 줄 같은 것을 원하는 경우

취급 차단 작업

를 참조하십시오.

관련 문제