private void comboBoxRecordedUi_SelectionChanged()

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;
        }