I've been looking at turning off the undo information in my grid during certain functions (where I set the default row size for example). However I've been struck by the number of properties which seem to be related to this. What is the difference between the IsRecording, ShouldGenerateUndoInfo and Enabled properties? (And am I correct in guessing that what I want to do to temporary disable recording of undo commands is set Enabled false?).
Setting grid.CommandStack.Enabled is the way to turn off undo information.
The other two properties you mentioned are used within the undo code to decide whether or not the code should save undo information. (There are times other than when CommandStack.Enabled = false when the undo ifnormation should not be generated. For example, if you are in a redo, you do not want to generate the undo information. IsRecoring and ShouldGenerateUndoInfo help track the state of undo operation so it can be easily obtained by the programmer as needed.)