private RecordedUiTask GetExpandedLeafNode()

in Tools/UIRecorder/UIRecorder/MainWindow.xaml.cs [543:579]


        private RecordedUiTask GetExpandedLeafNode(TreeViewItem tvi, UiTreeNode node, RecordedUiTask recordedUiTask)
        {
            if (tvi == null || node == null)
            {
                return null;
            }

            if (recordedUiTask != null)
            {
                if (node.UiTask == recordedUiTask)
                {
                    return node.UiTask;
                }
            }
            else if (node.Items.Count == 0)
            {
                return node.UiTask;
            }

            foreach (var c in node.Items)
            {
                var subContainer = (TreeViewItem)tvi.ItemContainerGenerator.ContainerFromItem(c);
                if (subContainer != null)
                {
                    if (subContainer.IsExpanded == true)
                    {
                        var retTemp = GetExpandedLeafNode(subContainer, c, recordedUiTask);
                        if (retTemp != null)
                        {
                            return retTemp;
                        }
                    }
                }
            }

            return null;
        }