예제 #1
0
        private LiteTreeViewItemViewModel AddChild(object child, int index = -1)
        {
            var myTreeItem = new LiteTreeViewItemViewModel();

            Add(myTreeItem, index);
            myTreeItem.InnerObject        = child;
            _itemsToTreeItems[child]      = myTreeItem;
            _treeItemsToItems[myTreeItem] = child;
            return(myTreeItem);
        }
예제 #2
0
 public void Add(LiteTreeViewItemViewModel child, int index = -1)
 {
     if (Children == null)
     {
         Children = new List <LiteTreeViewItemViewModel>();
     }
     if (index == -1)
     {
         Children.Add(child);
     }
     else
     {
         Children.Insert(index, child);
     }
     child.MyParent = this;
     child.Level    = this.Level + 1;
 }
        void MyItemsSourceChanged(DependencyPropertyChangedEventArgs eventArgs)
        {
            var observableCollectionAdv = new ObservableCollection <LiteTreeViewItemViewModel>();

            if (Root != null)
            {
                Root.Dispose();
            }
            if (eventArgs.NewValue != null)
            {
                var inputCollection = eventArgs.NewValue as IEnumerable;
                Root = new LiteTreeViewItemViewModel {
                    IsOpen = true, Level = -1
                };
                Root.InnerObject = new HaveChildrenCollectionWrapper(inputCollection);
                Root.FillTreeList(observableCollectionAdv);
            }
            InternalCollection = observableCollectionAdv;
            ItemsSource        = InternalCollection;
        }