1
백그라운드 스레드의 PRISM에서 이벤트 구독이 있습니다. 로그인 후 여러 개의 응용 프로그램 관련 데이터를로드합니다. 또한 Unity Container에서 MainMenu를 해결하려고합니다.Unity 컨테이너 백그라운드에서 해결 스레드
MainMenu mainMenu = container.Resolve<MainMenu>();
이것은 예외로 종료됩니다. 작업은 GUID와 관련되어 있으므로 STA 스레드에서 호출해야합니다. 나는 Dispatcher를 사용하는 경우이 완전히 이해할 것 같다 하지만
- 도 예외 없다하지만 차단 UI 스레드는 내가 원하는 것을하지 이잖아.
- 다른 BackgroundWorker 또는 작업 팩토리를 사용하면 문제가 해결되지 않을 수 있습니다. 배경 스레드가 여전히 남아 있기 때문입니다.
그렇다면 백그라운드 스레드에서 GUI 관련 자료를로드하려면 어떻게해야합니까? STA
ApartmentState와 쓰레드를 생성
안녕, 당신의 도움을 주셔서 감사합니다. 메뉴를 올바르게로드 중입니다. 하지만 그들은 differend 스레드에 의해 소유되기 때문에 지금은 내 지역에 메뉴를 할당 할 수 없습니다. 어떻게 해결할 수 있을까요? : –
[스레드간에 객체를 이동하는 데 도움이되는지 확인하십시오] (http://stackoverflow.com/questions/2954089/c-sharp-multi-threading-move-ko) 객체 사이-스레드) – Blachshma
흠 여전히 작동하지 않는'Application.Current.Dispatcher.BeginInvoke (새 액션 ((메뉴) => \t \t \t \t \t buttonsRegion.Add (메뉴, "MAINMENU") \t \t \t \t), 새로운 객체 [] {mainMenu}); –