private void OnSelected()

in src/AccessibilityInsights.SharedUx/Controls/HierarchyControl.xaml.cs [705:755]


        private void OnSelected(object sender, RoutedEventArgs e)
        {
            var tvi = sender as TreeViewItem;
            var vm = tvi.DataContext as HierarchyNodeViewModel;
            if (vm != null)
            {
                btnMenu.DataContext = vm;

                if (vm.Element.IsRootElement())
                {
                    btnMenu.Visibility = Visibility.Collapsed;
                    btnTestElement.Visibility = Visibility.Collapsed;
                }
                else if (this.IsLiveMode)
                {
                    btnMenu.Visibility = Visibility.Visible;
                    btnTestElement.Visibility = Visibility.Visible;
                    var hlptxt = string.Format(CultureInfo.InvariantCulture, 
                        Properties.Resources.HierarchyControl_LiveMode_InvokeToTestFormat,
                        vm.Element.Glimpse);
                    AutomationProperties.SetHelpText(btnTestElement, hlptxt);
                }
                else
                {
                    btnMenu.Visibility = Visibility.Visible;
                    btnTestElement.Visibility = Visibility.Collapsed;
                }
                tvi.BringIntoView();
                Dispatcher.BeginInvoke(new Action(() =>
                {
                    try
                    {
                        GeneralTransform myTransform = tvi.TransformToAncestor(treeviewHierarchy);
                        System.Windows.Point p = myTransform.Transform(new System.Windows.Point(0, 0));

                        btnTestElement.Height = TreeButtonHeight;
                        btnTestElement.Margin = new Thickness(0, p.Y, btnTestElement.Margin.Right, 0);
                        btnMenu.Height = TreeButtonHeight;
                        btnMenu.Margin = new Thickness(0, p.Y, btnMenu.Margin.Right, 0);
                    }
#pragma warning disable CA1031 // Do not catch general exception types
                    catch (Exception ex)
                    {
                        ex.ReportException();
                    }
#pragma warning restore CA1031 // Do not catch general exception types
                }));
            }

            e.Handled = true;
        }