ViewModel to translate domain messages to view events
Here is an example of a ViewModel that translates domain messages to view events:
class GameViewModel : INotifyPropertyChanged, IListener<BoardChanged>
{
public event PropertyChangedEventHandler PropertyChanged = delegate { };
public GameViewModel()
{
var messageBus = ServiceLocator.MessageBus;
messageBus.Subscribe<BoardChanged>(this);
}
void IListener<BoardChanged>.Handle(BoardChanged message)
{
PropertyChanged("Board");
}
}