void DisplayObjectService_DisplayObjectVisibleChanged(object sender, DisplayObjectEventArgs e)
 {
     // find the item
     foreach (ListViewItem item in listViewItems.Items) {
         if (object.Equals(item.Tag, e.DisplayObject)) {
             if (Services.DisplayObjectService.IsVisible(e.DisplayObject)) {
                 item.Font = boldFont;
                 item.ForeColor = this.ForeColor;
             }
             else {
                 item.Font = this.Font;
                 item.ForeColor = Color.Gray;
             }
             break;
         }
     }
 }
 void DisplayObjectService_DisplayObjectAdded(object sender, DisplayObjectEventArgs e)
 {
     ListViewItem item = new ListViewItem(e.DisplayObject.Name, "obj");
     if (Services.DisplayObjectService.IsVisible(e.DisplayObject)) {
         item.Font = boldFont;
         item.ForeColor = this.ForeColor;
     }
     else {
         item.Font = this.Font;
         item.ForeColor = Color.Gray;
     }
     item.Tag = e.DisplayObject;
     listViewItems.Items.Insert(0, item);
 }
 void DisplayObjectService_DisplayObjectRemoved(object sender, DisplayObjectEventArgs e)
 {
     // find the item and remove it
     for (int i = 0; i < listViewItems.Items.Count; i++) {
         if (object.Equals(listViewItems.Items[i].Tag, e.DisplayObject)) {
             listViewItems.Items.RemoveAt(i);
             break;
         }
     }
 }