For autogenerated Columns, there is the AutoGeneratingColumn event that fires for every Column that gets autogenerated, and AutoGeneratedColumns that fires after all Columns are generated.
Private Sub dataGrid_AutoGeneratedColumns(sender As Object, e As EventArgs) Handles dataGrid.AutoGeneratedColumns
' This event gets fired after all Columns have been autogenerated.
Dim dataGrid As DataGrid = CType(sender, DataGrid)
Dim cellStyle As Style
For intI As Integer = 0 To dataGrid.Columns.Count - 1
cellStyle = New Style With {
.TargetType = GetType(DataGridCell)
}
cellStyle.Setters.Add(New Setter(TextBlock.TextAlignmentProperty, TextAlignment.Center))
dataGrid.Columns(intI).CellStyle = cellStyle
Next
End Sub
The other answers to this question needed slightly different Types to work for me or didnt include the event handling.