private void OnAfterCheck(object sender, SmartTreeEventHandlerArgs args) { UiElementInfo elementInfo = args.Node.Tag as UiElementInfo; if (args.Action != TreeViewAction.Unknown) { if (args.Node.Checked) { _checkedTestSelector.Add(elementInfo); } else { _checkedTestSelector.Remove(elementInfo); } } if (!_propagating) { try{ _propagating = true; PropagateUp(args.Node.Parent); PropagateDown(args.Node); } finally { _propagating = false; } } FireSelectionChanged(); }
/// <summary> /// Called, when the selection state of a node in the test hierarchy tree /// has changed. /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void OnAfterSelect(object sender, SmartTreeEventHandlerArgs args) { foreach (SmartTreeNode node in _treeTestHierarchy.SelectedNodes) { node.SelectedImageIndex = node.ImageIndex; if (AfterSelect != null) { // Need to map the behavior. TreeViewEventArgs newArgs = new TreeViewEventArgs(null, TreeViewAction.Unknown); AfterSelect(sender, newArgs); } } }