Проверка состояния дерева трех состояний / отмена / только неопределенный родитель

Я использую древовидную структуру с тремя состояниями, я хочу иметь возможность проверять проверку только родителя, не проверяя все или часть его дочерних элементов и не предоставляя ему неопределенное состояние. Я использовал эту функцию, но она не работает должным образом

private void treeSysFunctions_AfterCheck(object sender, TreeViewEventArgs e)
    {          
        if (!e.Node.Checked)
        {
            TreeNode parent = e.Node.Parent;
            if (parent != null)
            {
                bool hasCheckedChild = HasCheckedChild(parent);

                if (!hasCheckedChild)
                    treeSysFunctions.SetChecked(parent, Elegant.Ui.Extensions.TriStateTreeView.CheckState.Indeterminate);
            }
        }
    }

0 ответов

Другие вопросы по тегам