protected virtual void OnChildrenChanging(DetailedPropertyChangingEventArgs e) { /// 子のIsSelectedをfalseにする using (Figure.DirtManager.BeginDirty()) { switch (e.Kind) { case PropertyChangeKind.Remove: { var oldChild = e.OldValue as Editor; if (oldChild != null && oldChild.IsSelected) { oldChild.IsSelected = false; } break; } case PropertyChangeKind.Clear: { var oldChildren = e.OldValue as Editor[]; if (oldChildren != null) { foreach (var oldChild in oldChildren) { if (oldChild.IsSelected) { oldChild.IsSelected = false; } } } break; } case PropertyChangeKind.Set: { var oldChild = e.OldValue as Editor; if (oldChild != null && oldChild.IsSelected) { oldChild.IsSelected = false; } break; } default: { break; } } } }
// --- event --- protected virtual void OnParentChanging(DetailedPropertyChangingEventArgs e) { }