I am writing a WPF application using the MVVM design pattern. I wanted to know the best possible(read "MVVM Complaint") way of doing this. Also be aware that all the code in my view model doesn't run on the UI thread. Currently I am accessing the Dispatcher in the VM using I am writing a WPF application using the MVVM d