<total aside> Can I just chime-in with some unsolicited advice? These names of the properties (the argument to RaisePropertyChanged) would ideally be constants, and not require the dev to type-in a string literal at each invocation. Eliminates any chance of typos making it into the released code. Also, it they were scoped correctly, the consumer of the API could use the same constants when consuming the events.
Sorry, it's the dev manager in me... </total aside>
Again, the INotifyProperty interface which uses the string based propertyName variables is the industry standard way of binding WPF GUI components to C# libraries -- especially if using the Model View ViewModel (MVVM) framework. I, personally, would rather take my licks with the standard that thousands of other developers are using rather than trying to roll my own and not have the support and documentation of millions of lines of code from which others have already learned.