If I understood your scenario correctly you want to dim a window while certain process occurs. You have already achieved the visual
effect, but you can't communicate between the dimmed view and the shell
The view that implements the dim beheaviour and the Shell should be decoupled. So the approach that
Prism-v2 enables to communicate between them is using the
If your case, when the process starts you should
publish an event from the shell (or the module that starts the process) and
subscribe to this event in the view and dim the window.
When the process ends, you can publish another event and show the window normally again.
You can read further about communication in prism applications in the following article from the documentation:
Regarding your question about the UI Thread, you will see that the
EventAggregator.Subscribe method provides an overload to specify on which thread the callback delegate will be invoked.
On the other hand, to show the Waiting Animation you might find useful the
ProgressBar Control as it can be
Hope it helps!