protected override void OnSelectedItemChanged( TreeItemViewModel oldSelectedItem, TreeItemViewModel newSelectedItem) { var oldItemAsDependencyObjectViewModel = oldSelectedItem as DependencyObjectViewModel; if (oldItemAsDependencyObjectViewModel != null) { oldItemAsDependencyObjectViewModel.ModelPropertyChanged -= this.OnModelPropertyChanged; } var newItemAsDependencyObjectViewModel = newSelectedItem as DependencyObjectViewModel; if (newItemAsDependencyObjectViewModel != null) { newItemAsDependencyObjectViewModel.ModelPropertyChanged += this.OnModelPropertyChanged; #pragma warning disable 4014 newSelectedItem.LoadPropertiesAsync(); #pragma warning restore 4014 } this.UpdateHighlight(); }
private async Task AddSimilarElementsAsync(List<object> elements, object baseValue, TreeItemViewModel item) { var dobvm = item as DependencyObjectViewModel; if (dobvm != null) { object itemValue; if (TryGetValue(dobvm.Model, out itemValue) && object.Equals(itemValue, baseValue)) { elements.Add(item); } } if (item.Children == null || item.Children.Count == 0 || (item.Children.Count == 1 && item.Children[0] is StubTreeItemViewModel)) { await item.LoadChildrenAsync(); } if (item.Children == null) { return; } foreach (var child in item.Children) { await this.AddSimilarElementsAsync(elements, baseValue, child); } }
private async Task AddSimilarElementsAsync(List <object> elements, object baseValue, TreeItemViewModel item) { var dobvm = item as DependencyObjectViewModel; if (dobvm != null) { object itemValue; if (TryGetValue(dobvm.Model, out itemValue) && object.Equals(itemValue, baseValue)) { elements.Add(item); } } if (item.Children == null || item.Children.Count == 0 || (item.Children.Count == 1 && item.Children[0] is StubTreeItemViewModel)) { await item.LoadChildrenAsync(); } if (item.Children == null) { return; } foreach (var child in item.Children) { await this.AddSimilarElementsAsync(elements, baseValue, child); } }
public TreeItemViewModel( ITreeViewModel treeViewViewModel, TreeItemViewModel parent) { this.TreeViewModel = treeViewViewModel; this.Parent = parent; }
protected virtual void OnSelectedItemChanged(TreeItemViewModel oldSelectedItem, TreeItemViewModel newSelectedItem) { }
protected virtual void OnSelectedItemChanged(TreeItemViewModel oldSelectedItem, TreeItemViewModel newSelectedItem) { }
protected override void OnSelectedItemChanged( TreeItemViewModel oldSelectedItem, TreeItemViewModel newSelectedItem) { var oldItemAsDependencyObjectViewModel = oldSelectedItem as DependencyObjectViewModel; if (oldItemAsDependencyObjectViewModel != null) { oldItemAsDependencyObjectViewModel.ModelPropertyChanged -= this.OnModelPropertyChanged; } var newItemAsDependencyObjectViewModel = newSelectedItem as DependencyObjectViewModel; if (newItemAsDependencyObjectViewModel != null) { newItemAsDependencyObjectViewModel.ModelPropertyChanged += this.OnModelPropertyChanged; #pragma warning disable 4014 newSelectedItem.LoadPropertiesAsync(); #pragma warning restore 4014 } this.UpdateHighlight(); }
public TreeItemViewModel( VisualTreeViewModel treeModel, TreeItemViewModel parent) { this.TreeModel = treeModel; this.Parent = parent; }