示例#1
0
        public void RemoveChildren(IEnumerable <ITreeItem> children)
        {
            List <ITreeItem> removed = new List <ITreeItem>();

            foreach (ITreeItem child in children)
            {
                if (Remove(child, false))
                {
                    removed.Add(child);
                }
            }
            if (removed.Count > 0)
            {
                TreeItemChildrenRemoveEventArgs args =
                    new TreeItemChildrenRemoveEventArgs(removed);
                ChildrenRemoved?.Invoke(this, args);
            }
        }
示例#2
0
 private bool Remove(ITreeItem child, bool sendEvent)
 {
     if (children.Contains(child))
     {
         child.Parent = null;
         children.Remove(child);
         if (sendEvent)
         {
             TreeItemChildrenRemoveEventArgs args =
                 new TreeItemChildrenRemoveEventArgs(new List <ITreeItem>()
             {
                 child
             });
             ChildrenRemoved?.Invoke(this, args);
         }
         return(true);
     }
     return(false);
 }