Raise PropertyChanged events without using strings in Prism

While I was testing something with Prism4 + MEF, I found this interesting method overload to raise PropertyChanged events without having to use the string name of the property itself.
Because having a typo in such a string can be very painful. :)

Let’s say you have a ViewModel which derives from the NotificationObject. In the setter I’m using the ‘better’ way of raising that PropertyChanged event:

public class TestViewModel : NotificationObject
{
private string _Title;

public string Title
{
get { return _Title; }
set
{
if (value != _Title;)
{
_Title = value;
this.RaisePropertyChanged(() => this.Name);
}
}

}
}

instead of writing:

this.RaisePropertyChanged("Title");

If you have already your project full of RaisePropertyChanged methods with strings you can easily replace them in Visual Studio with Regular Expressions:

- [Ctrl]+[F]
– Select [Quick Replace]
– In the dropdown menu choose [Replace in Files] instead of [Quick Replace]
– Look in: [Entire Solution]
– check [Use] and select [Regular expressions]
– Find what: RaisePropertyChanged\(\”{[:a]*}\”\)\;
– Replace with: RaisePropertyChanged(() => this.\1);

Have fun ;)