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(); }
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); }