// Build CSS classes for the "root" DOM element ("this control") private void BuildCssForRootElement() { string tmpCssClass = ""; if (ChildTreeNodes == null) { tmpCssClass += "no-childs"; } else if (ChildTreeNodes.Expanded) { tmpCssClass += "expanded"; } else { tmpCssClass += "collapsed"; } if (Array.Exists(ParentTree.SelectedNodes, delegate(TreeNode node) { return(node == this); })) { tmpCssClass += " selected"; } tmpCssClass += " item "; if (!string.IsNullOrEmpty(CssClass)) { bool hasPreviouslySetTreeStuff = CssClass.IndexOf(" item ") != -1; if (hasPreviouslySetTreeStuff) { string oldCssClass = CssClass.Substring(CssClass.IndexOf(" item ") + 6); tmpCssClass += oldCssClass; } else { tmpCssClass += CssClass; } } CssClass = tmpCssClass; }