/// <summary>
        /// Class constructor
        /// </summary>
        protected SolutionBaseItemViewModel()
        {
            _Children       = new SortableObservableDictionaryCollection();
            _IsItemExpanded = false;
            _IsItemSelected = false;

            _IsReadOnly = false;
        }
        /// <summary>
        /// Class constructor
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="itemType"></param>
        /// <param name="addDummyChild"></param>
        protected ItemChildrenViewModel(IItem parent
                                        , SolutionItemType itemType
                                        , bool addDummyChild = true)
            : base(parent, itemType)
        {
            _Children = new SortableObservableDictionaryCollection();
            BindingOperations.EnableCollectionSynchronization(_Children, _itemsLock);

            ResetChildren(addDummyChild); // Lets lazy Load child items
        }
        /// <summary>
        /// Hidden class constructor can only be used to instantiate static
        /// <see cref="DummyChild"/> item.
        /// </summary>
        private ItemChildrenViewModel()
            : base()
        {
            _Children = new SortableObservableDictionaryCollection();
            BindingOperations.EnableCollectionSynchronization(_Children, _itemsLock);

            // Don't do this with true as it will
            // add a dummy child below the dummy child
            // and so forth ...
            ResetChildren(false); // Lets NOT lazy Load child items in this ctor
        }
Beispiel #4
0
 /// <summary>
 /// Class constructor
 /// </summary>
 public FolderComboBoxViewModel()
 {
     _CurrentItems       = new SortableObservableDictionaryCollection <IFolderItemViewModel>();
     _SlowStuffSemaphore = new SemaphoreSlim(1, 1);
 }