Use attached to reproduce. Workaround: class MyGridCheckBoxHeaderCellElement : GridCheckBoxHeaderCellElement { public MyGridCheckBoxHeaderCellElement(GridRowElement row, GridViewColumn col) : base(col, row) { } bool suspenUpdate = false; protected override void checkbox_ToggleStateChanged(object sender, StateChangedEventArgs args) { suspenUpdate = true; base.checkbox_ToggleStateChanged(sender, args); suspenUpdate = false; } protected override void SetCheckBoxState() { if (!suspenUpdate) { base.SetCheckBoxState(); } } } private void RadGridView1_CreateCell(object sender, GridViewCreateCellEventArgs e) { if (e.Column != null&& e.CellType == typeof(GridCheckBoxHeaderCellElement)) { e.CellElement = new MyGridCheckBoxHeaderCellElement(e.Row, e.Column); } }