You can use DataGrid for WPF and Silverlight's Columns collection to programmatically add, insert, remove, and change any columns in the control at run time. You can also specify columns in XAML with or without automatically generating columns.
Creating your own columns enables you to use additional column types, such as the DataGridTemplateColumn type or custom column types. The DataGridTemplateColumn type provides an easy way to create a simple custom column. The CellTemplate and CellEditingTemplate properties enable you to specify content templates for both display and editing modes.