Como obter o valor de uma coluna de modelo em um WPF DataGrid.

Eu tenho uma grade de dados que inclui uma coluna da caixa de seleção. Fiz uma modificação nesse formulário usando uma caixa de seleção de seleção múltipla para verificar todas as linhas de uma só vez. E funcionou. mas não consegui obter o valor dessa coluna da caixa de seleção quando o aplicativo está sendo executado porque não tinha certeza de como acessar a coluna de dados. alguém pode me ajudar com uma maneira de obter o valor da caixa de seleção (verdadeiro / falso). Isto é o que eu fiz até agora.

Código: xaml

<DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Path= Id}" Header="Id" Visibility="Hidden"/>
            <DataGridTextColumn Binding="{Binding Path= Category}" Header="Category" Width="320"/>
            <!--<DataGridCheckBoxColumn Binding="{Binding Path= Check}" Width="*"/>-->

            <DataGridTemplateColumn>
                <DataGridTemplateColumn.Header>
                    <CheckBox x:Name="headerCheckBox" />
                </DataGridTemplateColumn.Header>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <CheckBox Name="chkSelectAll" HorizontalAlignment="Center" IsChecked="{Binding IsChecked, ElementName=headerCheckBox, Mode=OneWay}" />
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

        </DataGrid.Columns>

Código: C #

for (int i = 0; i < datagridview.Items.Count; i++)
            {
                ÇategoryData CD = (ÇategoryData)datagridview.Items[i];
                if (CD.Check == true)
                {
                    //it always returns false even checked 
                }
            }

questionAnswers(2)

yourAnswerToTheQuestion