fBaseXtensions.Settings.UIControl.UninstallSettingsButton C# (CSharp) Method

UninstallSettingsButton() static private method

static private UninstallSettingsButton ( ) : void
return void
        internal static void UninstallSettingsButton()
        {
            Application.Current.Dispatcher.Invoke(
                new Action(
                    () =>
                    {
                        Window mainWindow = Application.Current.MainWindow;
                        var tab = mainWindow.FindName("tabControlMain") as TabControl;
                        if (tab == null) return;
                        var infoDumpTab = tab.Items[0] as TabItem;
                        if (infoDumpTab == null) return;
                        var grid = infoDumpTab.Content as Grid;
                        if (grid == null) return;

                        SplitButton FunkyButton = grid.FindName("Funky") as SplitButton;
                        if (FunkyButton != null)
                        {
                            Logger.DBLog.DebugFormat("Funky Button handler added");
                        }
                        else
                        {
                            SplitButton[] splitbuttons = grid.Children.OfType<SplitButton>().ToArray();
                            if (splitbuttons.Any())
                            {

                                foreach (var item in splitbuttons)
                                {
                                    if (item.Name.Contains("Funky"))
                                    {
                                        FunkyButton = item;
                                        break;
                                    }
                                }
                            }
                        }

                        if (FunkyButton!=null)
                        {
                            grid.Children.Remove(FunkyButton);
                        }
                    }
                )
            );
        }