1
我在后台线程中有PRISM的事件订阅。登录后我加载了几个应用程序相关的数据 另外我尝试从Unity Container解析MainMenu。统一容器在后台线程中解决线程
MainMenu mainMenu = container.Resolve<MainMenu>();
这将异常结束。它必须从STA线程调用,因为这些操作与GUID相关。 这似乎完全可以理解的,但
- 如果我使用的调度员也没有例外,但它会阻止UI线程,那不是我想要的。
- 使用另一个BackgroundWorker或任务工厂不会解决问题,因为它仍然在后台线程。
那么如何在后台线程中加载GUI相关的东西呢?
您好,感谢您的帮助。它正在正确加载菜单。但是现在我不能将菜单分配给我的区域,因为它们属于不同的线程。如何解决这个问题? :) 'buttonsRegion.Add(mainMenu,“MainMenu”);' –
看看这是否有帮助[线程之间移动对象](http://stackoverflow.com/questions/2954089/c-sharp-multi-threading-move-对象之间线程) – Blachshma
嗯仍无法正常工作'Application.Current.Dispatcher.BeginInvoke(新行动((菜单)=> \t \t \t \t \t buttonsRegion.Add(菜单 “的MainMenu”) \t \t \t \t ),新对象[] {mainMenu});' –