public EscherRecordTreeNode(EscherRecord record) { this.Record = record; this.Text = record.GetType().Name; if (record.ChildRecords.Count > 0) { this.ImageKey = "Folder"; } else { this.ImageKey = "Binary"; } if (record is AbstractEscherOptRecord) { AbstractEscherOptRecord rec = ((AbstractEscherOptRecord)record); foreach (EscherProperty ep in rec.EscherProperties) { EscherPropertyTreeNode cnode = new EscherPropertyTreeNode(ep); this.Nodes.Add(cnode); } } else { GetChildren(this); } }