private void SetIsExpanded(ExpandArgs eargs) { bool update = !eargs.IgnoreChildren && !AsyncExpanding; if (update) BeginUpdate(); try { if (IsMyNode(eargs.Node) && eargs.Node.IsExpanded != eargs.Value) SetIsExpanded(eargs.Node, eargs.Value); if (!eargs.IgnoreChildren) SetIsExpandedRecursive(eargs.Node, eargs.Value); } finally { if (update) EndUpdate(); } }