Unfortunately, DataGrid column definitions do not inherit DataContext because they are not part of the visual tree, so you cannot directly bind to the ViewModel. You need to turn to a workaround, for example, described in this article :
<DataGrid.Resources> <local:BindingProxy x:Key="proxy" Data="{Binding}" /> </DataGrid.Resources> ... <DataGridTextColumn Header="{Binding Data.MyTitle, Source={StaticResource proxy}}"/>
source share