public TreeViewItemViewModel( TreeViewViewModel <TreeViewItemViewModel> tree, //ObservableCollection<TreeViewItemViewModel> selectedItems, TreeViewItemViewModel parent, bool lazyLoadChildren) { //_selectedItems = selectedItems; _tree = tree; _parent = parent; if (parent == null) { this.SetIsChecked(false, false, false); } else { this.SetIsChecked(parent.IsChecked ?? false, false, false); } _children = new ObservableCollection <TreeViewItemViewModel>(); //BindingOperations.EnableCollectionSynchronization(_children, _lock); if (lazyLoadChildren) { _children.Add(DummyChild); } }
/// <summary> /// /// </summary> /// <param name="selectedItems"></param> /// <param name="parent"></param> /// <param name="deviceAddress">Complete Device Address, ex. 01-02-03 for a level 3 node</param> public DeviceNodeViewModel( TreeViewViewModel <TreeViewItemViewModel> tree, ICollectionModel <Device> dataModel, //ObservableCollection<TreeViewItemViewModel> selectedItems, DeviceNodeViewModel parent, string deviceAddress, int maxDeviceAddressLength) : base(tree, /*selectedItems, */ parent, (deviceAddress == null) || (deviceAddress.Trim().Length < maxDeviceAddressLength)) { this._tree = tree; this._dataModel = dataModel; this._deviceAddress = deviceAddress; this._maxDeviceAddressLength = maxDeviceAddressLength; }