WPF Seleccione todas las casillas de verificación en un DataGrid

Estoy tratando de seleccionar todos los CheckBox en un DataGrid pero no obtuve ningún resultado usando este código a continuación

Esta es la función a la que estoy llamando cuando se hace clic en el CheckBox principal

private void CheckUnCheckAll(object sender, RoutedEventArgs e)
{
    CheckBox chkSelectAll = ((CheckBox)sender);
    if (chkSelectAll.IsChecked == true)
    {
        dgUsers.Items.OfType<CheckBox>().ToList().ForEach(x => x.IsChecked = true);
    }
    else
    {
        dgUsers.Items.OfType<CheckBox>().ToList().ForEach(x => x.IsChecked = false);
    }
}

dgUsers es DataGrid pero, como me doy cuenta, se encuentra cualquier casilla de verificación.

Este es el XAML que estoy usando para crear el CheckBox en la cuadrícula de datos

<DataGrid.Columns>
    <DataGridCheckBoxColumn x:Name="col0" HeaderStyle="{StaticResource ColumnHeaderGripperStyle}">
         <DataGridCheckBoxColumn.HeaderTemplate>
              <DataTemplate>
                   <CheckBox Click="CheckUnCheckAll" >
                   </CheckBox>
              </DataTemplate>
         </DataGridCheckBoxColumn.HeaderTemplate>
    </DataGridCheckBoxColumn>
<DataGrid.Columns>

Y esta es la imagen de mi DataGrid

¿Hay alguna forma de seleccionar todas las casillas de verificación programáticamente?

Editar Ya intenté seguirestos pasos

que puedes ver que mi código es el mismo allí pero no me funcionó

Respuestas a la pregunta(2)

Su respuesta a la pregunta