Over the period of time lot of asks and solutions were made for selectall selector for DataGrid. However, I failed to see a solution which is completely built on XAML. When my friend approached me, I thought that I will write my own.
The idea is to have a template column with a separate definition for the header and the rows. To avoid using code behind for the solution, I decided to use two data templates for the header and the row items.