Die Kopfzeile der Datagrid-Spalte sollte den Status von CheckBox aktivieren / deaktivieren, abhängig davon, ob alle Kontrollkästchen einer DataGridView-Spalte aktiviert oder deaktiviert sind

 Das Problem, mit dem ich nicht weiterkomme, hängt mit dem Kontrollkästchen in DataGrid (WPF) zusammen. Ich habe den Screenshot angehängt, um das Problem besser zu verstehen.

Problem: Das Kontrollkästchen DataHeader-Spalte ist aktiviert, auch wenn eines der untergeordneten Elemente deaktiviert ist. Ich erwarte, dass die Lösung dies behebt, sodass, wenn eines der untergeordneten Elemente vom Benutzer explizit deaktiviert wird, die Option ALL (Spaltenüberschrift) implizit deaktiviert werden sollte.

Bitte helfen Sie Jungs ... Vielen Dank Bitte überprüfen Sie den Link. Ich möchte, dass die Lösung so funktioniert.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>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage