/// <summary> /// Change node's IsChecked state based on CheckBox's IsChecked value. /// </summary> /// <param name="treeNode">specifies the treeNode. </param> /// <param name="isChecked">isChecked value.</param> internal void ChangeNodeState(TreeNode treeNode, bool?isChecked) { if (treeGrid.CheckBoxSelectionMode != CheckBoxSelectionMode.Default) { if (treeGrid.SelectionMode == GridSelectionMode.Single) { this.SuspendAndChangeIsCheckedState(treeNode, isChecked); } else { this.SetIsCheckedState(treeNode, isChecked); } treeGrid.RaiseNodeCheckStateChanged(new NodeCheckStateChangedEventArgs() { Node = treeNode }); treeGrid.SelectionController.ProcessSelectionOnCheckedStateChange(treeNode); } else { SetIsCheckedState(treeNode, isChecked); treeGrid.RaiseNodeCheckStateChanged(new NodeCheckStateChangedEventArgs() { Node = treeNode }); } treeNode.isCheckedChanged = true; }