/// <summary> /// Called whenever selection changes. /// </summary> /// <param name="args"></param> private void OnSelectionChanged(SelectionChangedEventArgs args) { if (args.SelectedItems == null) return; if (this.IsActiveView || args.SourceViewModel == this) return; Collection<object> sVms = new Collection<object>(); foreach (BaseModelElementViewModel vm in this.SelectedItems) { if (vm != null) vm.IsSelected = false; } foreach (ModelElement element in args.SelectedItems) { BaseModelElementViewModel foundModel = null; foreach (RootNodeViewModel m in this.RootNodes) { if (m.Element == element && m.IsElementHolder) foundModel = m; if( foundModel == null ) foundModel = m.FindViewModel(element); if (foundModel != null) if( !sVms.Contains(foundModel) ) sVms.Add(foundModel); } } foreach (BaseModelElementViewModel vm in sVms) vm.IsSelected = true; this.selectedVMS = sVms; }
/// <summary> /// Called whenever selection changes. /// </summary> /// <param name="args"></param> private void OnSelectionChanged(SelectionChangedEventArgs args) { if (args.SelectedItems == null) return; if (args.SelectedItems.Count != 1) { this.SelectedItem = null; } else { foreach(ModelContextViewModel vm in this.ModelContextVMs) if (vm.ModelContext == args.SelectedItems[0] as BaseModelContext) { if (this.SelectedItem != vm) this.SelectedItem = vm; break; } } }
/// <summary> /// Called whenever selection changes. /// </summary> /// <param name="args"></param> private void OnSelectionChanged(SelectionChangedEventArgs args) { this.SetSelectedComponents(args.SelectedItems); }