내 WPF 응용 프로그램에서 새로운 UI 스레드를 시작하고 있습니다. 이제는이 스레드의 모든 창에 대해 목록을 얻는 방법을 찾고 있습니다. System.Windows.Application.Current.Windows
을 사용하여 주 스레드에 대해 가져올 것입니다. .NET Framework에 무언가가 있습니까? 아니면 직접 구현해야합니까? 직접 구현해야 할 때 샘플 코드가 거의없는 사람이있을 것입니다.현재 스레드의 모든 창 목록보기
1
A
답변
2
MSDN 인용 :
창 참조가 즉시 자동으로 윈도우가 사용자 인터페이스 (UI) 스레드에서 인스턴스화로 Windows에 추가됩니다; 작업자 스레드가 만든 창은 추가되지 않습니다. Window 참조는 Closing 이벤트가 처리되고 Closed 이벤트가 발생하기 전에 자동으로 제거됩니다.
기본적으로 Windows 속성에 추가 된 첫 번째 항목은 MainWindow가됩니다.
이 속성은 Application 개체를 만든 스레드에서만 사용할 수 있습니다.
그래서 작업자 스레드에 의해 생성 된 창은 어떤 모음에서도 자동으로 보유되지 않습니다. 난 당신이 그 작업자 스레드에서 창을 만드는 것으로 가정합니다 - 그래서 나중에 액세스 할 수 있습니다 (당신은 나중에 창문에 this
일부 창 관리자 클래스에 추가하여 Windows 생성자에서 할 수있는 참조를 저장해야합니다)
관련 문제
- 1. 열려있는 팝업 창 목록보기
- 2. 목록보기 슬라이딩 창
- 3. 스레드의 현재 활동보기
- 4. 현재 스레드의 성능 카운터
- 5. 스레드의 보이는 창 제목 얻기
- 6. 주 스레드의 VTK 창 스레드
- 7. 자바 스크립트에서 현재 열려있는 모든 창 객체
- 8. 익스프레스 eXpressApp 목록보기 읽기 창
- 9. 현재 스레드의 ProcessThread.TotalProcessorTime을 얻는 방법은
- 10. 설치된 모든 앱 목록보기
- 11. 도시의 모든 교차로 목록보기
- 12. 일시적으로 현재 스레드의 culture를 변경하는 좋은 방법입니까?
- 13. 모든 스레드의 스택 추적을 얻으십시오.
- 14. 현재 디렉토리 창 제목
- 15. 현재 스레드의 아파트 상태를 확인하는 방법은 무엇입니까?
- 16. 다른 Windows 프로세스에서 스레드의 현재 로캘을 가져옵니다.
- 17. 현재 스레드의 culture 코드 설정은 무엇을합니까?
- 18. 현재 실행중인 .NET 스레드와 Win32 스레드의 차이점
- 19. 모든 목록보기 항목을 선택하는 방법?
- 20. 모든 재생 사운드 목록보기 (Mac)
- 21. 웹 사이트의 모든 링크 목록보기
- 22. 현재 상태가 목록보기 안드로이드에 남아 있습니다.
- 23. 자바 스크립트에서 현재 창 최대화
- 24. 현재 창 외부에 툴팁 표시
- 25. 안드로이드 폰의 모든 전화 번호부 목록보기
- 26. 이클립스를 통해 작업 공간의 모든 패키지 목록보기
- 27. 모든 창 '창 메뉴에 항목을 추가하려면 어떻게합니까?
- 28. 모든 창 상단에 VB.Net 창 가져 오기
- 29. 모든 화면에 창 복제
- 30. 모든 그놈 터미널 창 목록
왜 새로운 시작입니까? 스레드가? 그것은 단지 사물을 복잡하게 할 것입니다. –
그건 긴 이야기입니다.하지만 꼭 필요합니다. 이제는 모두 멋지게 작동합니다.하지만 이제는 두 번째 UI 스레드에서 열리는 새 창에 대한 소유자로 설정할 창이 열립니다. – BennoDual
'Application.Current.Windows'는 ** EDIT **는 현재 스레드에 대해서만 윈도우를 리턴해야합니다. 각 스레드는 자체 응용 프로그램이 있어야합니다. (나는 체크하지 않았다) – SLaks