protected virtual void OnChildDeleted(object sender, EventArgs e) { ExportableViewModel evm = sender as ExportableViewModel; if (evm == null) { throw new ArgumentException("ExportableViewModel expected!"); } UnregisterExportableChild(evm); }
protected void UnregisterExportableChild(ExportableViewModel child) { child.StateChanged -= OnChildStateChanged; child.Deleted -= OnChildDeleted; children.Remove(child); }
protected void RegisterExportableChild(ExportableViewModel child) { child.StateChanged += OnChildStateChanged; child.Deleted += OnChildDeleted; children.Add(child); }