//-------------------------------------------------------------------------------------------------- void TreeViewEx_OnOnSelecting(object sender, SelectionChangedCancelEventArgs e) { if (Model != null) { Model.SelectedNode = e.ItemsToSelect.FirstOrDefault() as BRepTopologyTreeNode; } }
void treeViewEx_OnSelecting(object sender, SelectionChangedCancelEventArgs e) { TreeViewEx treeViewEx = (TreeViewEx)sender; CommandController controller = viewModel.Controller; e.Cancel = true; List <CommandBase> cmdList = new List <CommandBase>(); foreach (object itemToUnselect in e.ItemsToUnSelect) { //if (!treeViewEx.SelectedItems.Contains(itemToUnselect)) continue; cmdList.Add(new DeselectItemCmd(viewModel, (Node)itemToUnselect)); } foreach (object itemToSelect in e.ItemsToSelect) { //if (treeViewEx.SelectedItems.Contains(itemToSelect)) continue; cmdList.Add(new SelectItemCmd(viewModel, (Node)itemToSelect)); //TreeViewExItem tvei = leftTree.GetTreeViewItemFor(itemToSelect); //if (tvei != null) tvei.BringIntoView(new Rect(1, 1, 1, 1)); } if (cmdList.Count > 0) { controller.AddAndExecute(new CommandGroupCmd(viewModel, cmdList.ToArray())); } lblUndoStack.Content = controller.UndoCount; lblRedoStack.Content = controller.RedoCount; return; }
//-------------------------------------------------------------------------------------------------- void TreeView_OnOnSelecting(object sender, SelectionChangedCancelEventArgs e) { Model.ChangeSelection(e.ItemsToSelect, e.ItemsToUnSelect); e.Cancel = true; }