0
1. See Edit method of DataGridColumnStyle. The Visible attribute of Your control is set/reset there. But - painting of full control is much more slower then painting only background and text (2). Next - DataGridColumnStyle control is only one but rows are multiple.
2. Painting is really low-level.