Exemplo n.º 1
0
        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;
                }
                }
            }
        }
Exemplo n.º 2
0
 // --- event ---
 protected virtual void OnParentChanging(DetailedPropertyChangingEventArgs e)
 {
 }