in Tools/UIRecorder/UIRecorder/MainWindow.xaml.cs [219:285]
private void comboBoxRecordedUi_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (SelectChangedSource == UiSelectChangedSource.ComboBoxSelected)
{
return;
}
var selectedItem = (comboBoxRecordedUi.SelectedItem as RecordedUiTask);
if (selectedItem == null)
{
return;
}
if (SelectChangedSource != UiSelectChangedSource.TreeViewItemSelected)
SelectChangedSource = UiSelectChangedSource.ComboBoxSelected;
// C# code
var focusedElementName = "PreviousLeftClickElement";
if (selectedItem.UiTaskName == EnumUiTaskName.KeyboardInput)
{
lock (RecordedUiTask.s_lockRecordedUi)
{
foreach (var uiTask in RecordedUiTask.s_listRecordedUi)
{
if (uiTask.UiTaskName == EnumUiTaskName.LeftClick)
{
focusedElementName = uiTask.VariableName;
}
if (uiTask == selectedItem)
{
break;
}
}
}
}
textBoxCode.Text = selectedItem.GetCSCode(focusedElementName);
if (selectedItem.UiTaskName != EnumUiTaskName.KeyboardInput)
{
// xpath
TextRange tr = new TextRange(rtbXPath.Document.ContentStart, rtbXPath.Document.ContentEnd);
tr.Text = selectedItem.GetXPath(false);
// TreeView
HighlightPath(0, true/*highlight session path*/);
if (treeUiPath.Items != null && treeUiPath.Items.Count > 0)
{
var tvi = (TreeViewItem)treeUiPath.ItemContainerGenerator.ContainerFromItem(treeUiPath.Items[0]);
if (tvi != null)
{
tvi = ExpandSelectedTreeNode(UiTreeNode.s_uiTreeNodes.First(), tvi, selectedItem);
if (tvi != null)
{
// select to highlight leaf tree view node
tvi.IsSelected = true;
tvi.BringIntoView();
}
}
}
}
if (SelectChangedSource != UiSelectChangedSource.TreeViewItemSelected)
SelectChangedSource = UiSelectChangedSource.SelectChangeFinished;
}