Проверка состояния дерева трех состояний / отмена / только неопределенный родитель
Я использую древовидную структуру с тремя состояниями, я хочу иметь возможность проверять проверку только родителя, не проверяя все или часть его дочерних элементов и не предоставляя ему неопределенное состояние. Я использовал эту функцию, но она не работает должным образом
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);
}
}
}