void UpdateItem(SourcesListItem item) { if (!updating) { outlineView.ReloadItem(item); if (item.isSelected) { outlineView.SelectRow(outlineView.RowForItem(item), true); } else { outlineView.DeselectRow(outlineView.RowForItem(item)); } } }
IViewItem IView.AddItem(object datum, IViewItem parent) { var item = new SourcesListItem() { datum = datum, updater = UpdateItem, viewEvents = viewEvents, parent = parent as SourcesListItem, }; if (item.parent != null) { item.parent.items.Add(item); } else { dataSource.Items.Add(item); } UpdateItem(item); return(item); }