лучший способ - установить для dataTemplate заголовка собственный шаблон, содержащий DatePicker, Date которого привязан к одному из свойств DataContext DataGrid, а затем связать ячейки в этом конкретном столбце с тем же свойством.
как то так:
<DataGrid>
<DataGridTextColumn Binding="{Binding DataContext.myDate, RelativeSource={RelativeSource AncestorType=DataGrid}, Mode=OneWay}" >
<DataGridTextColumn.HeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Style.Setters>
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<DatePicker SelectedDate={Binding myDate, Mode=TwoWay} />
</DataTemplate>
</Setter.Value>
</Setter>
</Style.Setters>
</Style>
</DataGridTextColumn.HeaderStyle>
</DataGridTextColumn>
</DataGrid>
Отказ от ответственности: я не пробовал это и не уверен насчет {Binding DataContext.myDate, RelativeSource={RelativeSource AncestorType=DataGrid}
. Возможно, вам придется внести некоторые коррективы, но в целом это должно дать вам начало того, как действовать