For the life of me I can not figure out what event is fired that says "I've bound myself to the data, I've sized my columns, I've displayed, and I'm ready for you to change me. Hey, even my 'Resolved' properties have been resolved"?
What I'm really trying to do is have the grid render itself completely and then reset a few properties. The properties are not yet ready to be reset during the form's Load event (even when calling the base.OnLoad).
A snippet:
... Let Grid render and compute proper column sizes for non-fixed columns.
I'm not sure I understand exactly what the point of this is. If I understand correctly what you are trying to do here, then if the user increased the size of the form (and thus the size of the grid) wouldn't there be extra space in the grid? Or if they made the grid smaller, wouldn't columns get cut off? Why fix the column widths to an arbirary size based on the size of the form at load time?
There is no event that fires when the grid is "done". You might be able to force the grid to update itself and calcaulate the sizes, though. Try calling grid.DisplayLayout.UIElement.VerifyChildElements(true). As long as all the other properties have been set before you do this and the grid is the correct size, this should force the grid to create the columns and size them, I think.
You're correct, a normal person would not understand the hack I'm trying to accomplish. Since the grid has a bug with regard to AutoFitStyle (not honoring fixed column widths), I wanted the grid to Auto Size all columns using its standard behavior thereby filling up all the grid area provided. This would be done on the first render only. From that point on, I'm OK with having the user get scrollbars if they resize columns. This is not optimal but it is the only acceptable work-around to the given bug.
I ended up using a timer event during OnLoad to give me the "everything is done rendering" event. Again, not optimal, would have rather had a grid event.
Thanks for you input though. I will have to check out VerifyChildElements.