Sep 3, 2010 at 12:30 PM

Having found a discussion on this on the Caliburn discussion list (, I've just tried calling NotifyOfPropertyChanged(string.empty) in my project using Caliburn.Micro, but without success.  It seems that ActionMessage.cs Line 188 checking if(e.PropertyName == guardName) will never return true for e.PropertyName == string.empty.

Given that this is exactly what I want to do - have one change event force a re-evaluation of everything on the view, is there a better way of doing this, or should I alter line 188 to if(e.PropertyName == guardName || string.IsNullOrEmpty(e.PropertyName) )

Given that I am very early in my exploration of Caliburn Micro (and WPF and MVVM for that matter!) I'd rather someone tells me I'm being an idiot now, than when the code's been deployed for a week.


Sep 3, 2010 at 1:16 PM

I'll create a ticket to fix this in the guard's implementation :)

Sep 3, 2010 at 4:59 PM

Brilliant, thank you.

Do I take it that this is the "correct" way to do this?

If I don't want to force a re-evaluation of all of the guards and properties, is there a way to say that "This property depends on that property there; re-evaluate this one if that one fires a PropertyChangedEvent"?

Sep 22, 2010 at 7:54 PM

There is something on this page that can help you (PreviewAttribute at the bottom):

Although, you'll need to go through the whole page to understand how they are working.