Nagłówek kolumny Datagrid powinien zaznaczyć / odznaczyć stan CheckBox w zależności od tego, czy wszystkie pola CheckBox kolumny DataGridView są zaznaczone lub odznaczone

 Problem, z którym utknąłem, jest związany z polem wyboru w DataGrid (WPF). Załączam zrzut ekranu, aby lepiej zrozumieć problem.

Problem: Pole wyboru DataHeader jest zaznaczone, nawet gdy jedno z dzieci jest odznaczone. Spodziewam się, że rozwiązanie to naprawi tak, że gdy jedno z dzieci zostanie odznaczone bezpośrednio przez użytkownika, WSZYSTKO (Nagłówek kolumny) powinno być odznaczone niejawnie.

Pomóżcie chłopaki ... Dziękuję Plz sprawdź link. Chcę, żeby to rozwiązanie działało w ten sposób.http://www.codeproject.com/Articles/42437/Toggling-the-States-of-all-CheckBoxes-Inside-a-Dat#

<code><dg:DataGrid.Columns>
    <dg:DataGridCheckBoxColumn Binding="{Binding Check}" IsThreeState="True" Width="50">
        <dg:DataGridCheckBoxColumn.HeaderTemplate>
            <DataTemplate x:Name="dtAllChkBx">
                <CheckBox Name="cbxAll" Content="{x:Static properties:Resources.lblAll}"
                          Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked" />
            </DataTemplate>
        </dg:DataGridCheckBoxColumn.HeaderTemplate>
    </dg:DataGridCheckBoxColumn>
</code>

.

<code>private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
    unchck_all_prd();
    dgEnggAcc.Items.Refresh();
}

private void unchck_all_prd()
{
    for (int i = 0; i < engg_list.Count; i++)
    {
        engg_list[i].Check = false;
    }
}

private void chck_all_prd()
{
    for (int i = 0; i < engg_list.Count; i++)
    {
        engg_list[i].Check = true;
    }
}

public class EnggLst : ObservableCollection<EnggLst>
{
    public bool Check { get; set; }
}
</code>

questionAnswers(2)

yourAnswerToTheQuestion