@MasterRanger: It's the WPF Command framework. ICommand.CanExecute. Details beyond that? I'd imagine there's an event raised to any listeners (which would be anything bound to the command instance). The beauty of a framework is that I don't need to know how it works, just how to use it. Smiley

From some quick searching, it seems that the CommandManager class is involved.