Catchy title eh? I've just solved this problem and thought I'd write about it. To be honest, I'm not sure it's the correct way, but it works, and at the moment, that's what matters. The problem I had was this: I have a property on a class called 'TheEnum', which is defined as such: private MyEnum theEnum; public MyEnum TheEnum { get { return theEnum; } set { theEnum = value; RaisePropertyChanged("TheEn... } } with 'RaisePropertyChanged' looking like this: private void RaisePropertyChanged(string ......