public static Grid ReplaceContentWithGrid(this ToggleButton button, double leftColumnWidth, double rightColumnWidth)
        {
            button.HorizontalContentAlignment = HorizontalAlignment.Right;

            var newGrid = new Grid {
                Style = button.GetStyle(EStyleKey.Grid.SkyQuakeGrid)
            };

            newGrid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(leftColumnWidth, GridUnitType.Pixel)
            });
            newGrid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(rightColumnWidth, GridUnitType.Pixel)
            });

            var iconTextBlock = new TextBlock {
                Style = button.GetStyle(EStyleKey.TextBlock.TextBlockWithSkyQuake), Text = button.Content.ToString()
            };

            newGrid.Add(iconTextBlock, EInteger.Number.Zero);

            button.Content = newGrid;

            return(newGrid);
        }
        public static void UpdateContextMenuItemCount(this ToggleButton button, double leftColumnWidth, double rightColumnWidth, double fontSize)
        {
            if (button.ContextMenu is ContextMenu contextMenu)
            {
                var toggleMenuItems = contextMenu.Items.OfType<MenuItem>().Where(i => i.IsCheckable);
                var newTextBlock = new TextBlock
                {
                    Style = button.GetStyle(EStyleKey.TextBlock.TextBlockWithSkyQuakeVerticallyCentered),
                    FontSize = fontSize,
                    Text = $"{toggleMenuItems.Where(menuItem => menuItem.IsChecked).Count()}/{toggleMenuItems.Count()}",
                };

                if (button.Content is Grid grid)
                {
                    var lastTextBlock = grid.Children.OfType<TextBlock>().Last();

                    grid.Children.Remove(lastTextBlock);
                    grid.Add(newTextBlock, EInteger.Number.One);
                }
                else
                {
                    button
                        .ReplaceContentWithGrid(leftColumnWidth, rightColumnWidth)
                        .Add(newTextBlock, EInteger.Number.One)
                    ;
                }
            }
        }