2010-04-18 3 views
46

UI 요소에 대한 참조가 없을 때 UI 스레드의 Dispatcher을 가져 오는 방법이 있습니까?UI 스레드 Dispatcher를 얻으려면 어떻게해야합니까?

+0

더 자세히 ... GUI 개체 또는 UI 스레드에 대한 참조가 없습니다. 운영자를 확보 한 후에는 무엇을 할 계획입니까? – Gishu

+0

@ Gishu, 그리고 7 년 후 나를 좋아하는 사람들은 당신이 가지고있는 모든 것이있을 때 이것을 필요로합니다. UI 스레드에서 수신 대기중인 ObservableCollection (아직 UI ​​스레드에서 수정하려고 시도하면 재진입성에 대한 검사가 실패 함)은 아직 디스패처를 노출하지 않습니다.이 경우 UI가 필요합니다. Dispatcher'에는 UI 요소가 없습니다. –

답변

86

당신은 정적 응용 프로그램 인스턴스에서 UI Dispatcher를 잡을 수 있습니다 Application.Current.Dispatcher

당신은이 종료 순서 중에 해제 할 수 있습니다로, 첫째는 null Application.Current을 확인 할 수 있습니다.

+12

유감스럽게도 이것은 WinForms 응용 프로그램 내부에서 WPF 요소를 호스팅하는 불행한 영혼을위한 WinForms에서도 null입니다. –

+3

@AndrewGarrison을 사용하면'new System.Windows.Application()'을 사용하여 정적'Application' 객체를 수동으로 생성 할 수 있습니다. – Taedrin

관련 문제