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); } }