Actually I want to have one dedicated worker thread for handling events from both main and other worker threads. This thread must also be able to invoke delegates in other threads. (The thread receives commands from the main thread, executes some of them in other worker threads, processes the completion and progress events from these commands, and inform the main thread about how he is doing).
All this could be done manually by implementing an analogue of the message queue from delegates in the desired thread. However, I would prefer a higher level approach if such exists. From the documentation I got the impression that the Dispatcher class is well suited for this purpose. I also got feeling that an object of this class can be created in any thread, but didn't find any example. Is my feeling wrong?