Пример #1
0
        public TreeNodeVM(TreeNodeVM parent, string name, LoadChildenStrategy loadChildrenStrategy)
        {
            if (parent == null)
            {
                this.Dispatcher = Dispatcher.CurrentDispatcher;
            }
            else
            {
                this.Dispatcher = parent.Dispatcher;
            }

            this.LoadChildenStrategy     = loadChildrenStrategy;
            _internalLoadChildenStrategy = new InternalLoadChildenStrategy(this.LoadChildenStrategy);

            this.Name   = name;
            this.Parent = parent;

            this.Dispatcher.AutoInvoke(() =>
            {
                this.InternalChildren = new ObservableCollection <TreeNodeVM>();
                _readOnlyChildren     = new ReadOnlyObservableCollection <TreeNodeVM>(this.InternalChildren);
            });

            if (_internalLoadChildenStrategy.IsLazy)
            {
                this.DummyChild = new DummyTreeNodeVM(this);
                this.InternalChildren.Add(DummyChild);
            }
            else
            {
                _isChildrenLoaded = true;
            }

            this.IsEnabled = true;
        }
 public InternalLoadChildenStrategy(LoadChildenStrategy strategy)
 {
     this.IsLazy    = (strategy & InternalLoadChildenStrategy.Lazy) == InternalLoadChildenStrategy.Lazy;
     this.IsDynamic = this.IsLazy && (strategy & InternalLoadChildenStrategy.Dynamic) == InternalLoadChildenStrategy.Dynamic;
     this.IsAsync   = this.IsLazy && (strategy & InternalLoadChildenStrategy.Async) == InternalLoadChildenStrategy.Async;
 }
        protected FileSystemObjectVM(ExplorerTreeNodeVM parent, string path, string name, LoadChildenStrategy loadChildenStrategy)
            : base(parent, name, loadChildenStrategy)
        {
            this.Path = path == null ? null : PathEx.NormalizeDirectorySeparators(path);

            this.InitializeCommands();
        }
Пример #4
0
 public VehicleNodeVMBase(ExplorerTreeNodeVM parent, string name, LoadChildenStrategy loadChildrenStrategy)
     : base(parent, name, loadChildrenStrategy)
 {
     VehicleNodeVMBase.VehicleSortingRuleChanged += OnVehicleSortingRuleChanged;
 }
 public ExplorerTreeNodeVM(ExplorerTreeNodeVM parent, string name, LoadChildenStrategy loadChildrenStrategy)
     : base(parent, name, loadChildrenStrategy)
 {
     _lazyContextMenu = new Lazy <ContextMenuVM>(this.CreateContextMenu);
 }