Посмотрите здесь: http://dotnet-forum.de/blogs/thearchitect/archive/2012/11/01/die-optimale-implementierung-des-inotifypropertychanged-interfaces.aspx
Это написано на немецком языке, но вы можете загрузить ViewModelBase.cs. Все комментарии в cs-файле написаны на английском языке.
С помощью этого ViewModelBase-Class можно реализовать свойства связывания, аналогичные хорошо известным свойствам зависимостей:
public string SomeProperty
{
get { return GetValue( () => SomeProperty ); }
set { SetValue( () => SomeProperty, value ); }
}