У меня простой сценарий с View, ViewModel и классом пользовательского типа.
Класс модели выглядит примерно так:
public class Person : Validation.DataError, INotifyPropertyChanged
{
    #region INotifyProperty
    public event PropertyChangedEventHandler PropertyChanged;
    public void RaisePropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }
    #endregion
    public global::System.String name
    {
        get
        {
            return _name;
        }
        set
        {
            _name= value;
            RaisePropertyChanged("name");
        }
    }
    private global::System.String _name;
}
В ViewModel у меня есть свойство Person:
private Model.Person person;
        public Model.Person Person
        {
            get
            {
                return person;
            }
            set 
            {
                this.person= value;
                this.RaisePropertyChanged("Person");
                this.SavePersonCommand.OnCanExecuteChanged();
            }
        }
В моем представлении у меня есть текстовое поле, связанное с Person.name
Таким образом, ViewModel не выполняет метод set, поскольку объект Person все тот же... он выполняет метод set в Свойстве Model.. p >
Я хочу, чтобы пользователь менял имя пользователя и вызывал другой метод (поиск через веб-сервис и другие материалы...), и я думаю, что эта функция должна быть в ViewModel.
Я использую Messenger из инструментария MVVM Light для связи между различными режимами просмотра и между представлениями и режимами просмотра.
Теперь я не знаю, должен ли я использовать медиатор для этого или если бы я знал другой способ решить эту проблему.