Ideally communication between View and ViewModel in MVVM pattern done through Mediator to avoid hard-referencing View from VM. Having a mediator,
- View can subscribe to certain type of message.
- Then VM send the message to mediator,
- mediator broadcast the message, so all party that subscribed will get it.
- Upon receiving, View can respond by executing certain UI logic according to the message
The CodeProject link above shows how to implement a mediator class. But I will suggest to use a popular MVVM framework since you'll find it has Mediator implementation and many other tools for MVVM available out-of-the-box.