Datagrid en-tête de Colonne doit cocher / décocher la Case à cocher de l'état, selon que toutes les Cases d'un DataGridView colonne sont cochés ou non

Datagrid en-tête de Colonne doit cocher /décocher la Case à cocher de l'état, selon que toutes les Cases d'un DataGridView colonne sont cochés ou non Le problème, je suis bloqué, est liée à la case dans la grille de données(WPF). J'ai joint la capture d'écran pour mieux comprendre le problème.

Problème: La DataHeader Colonne est cochée, même quand l'un de l'enfant n'est pas Cochée. J'attends la solution pour résoudre ce problème de manière que lorsqu'un enfant n'est pas cochée explicitement par l'utilisateur, Le TOUT(en-Tête de Colonne) doit être désactivée de façon implicite.

S'il vous plaît aider... Merci les gars
Plz vérifier le lien. je veux la solution de travail comme ça. http://www.codeproject.com/Articles/42437/Toggling-the-States-of-all-CheckBoxes-Inside-a-Dat#

<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>

.

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; }
}

OriginalL'auteur iYadav | 2012-04-18