private void InvokeDraw_ColorText()
        {
            //string Text = "";
            Paragraph TextBlock = new Paragraph();

            void AddText(string text, Color?color = null)
            {
                Run run = new Run(text);

                if (color != null)
                {
                    run.Foreground = GetBrush(color ?? Colors.Black);
                }

                //Text += text;
                TextBlock.Inlines.Add(run);
            }

            TetrisBlock[,] TetrisView = Tetris.GetView();

            int Width  = TetrisView.GetLength(0);
            int Height = TetrisView.GetLength(1);

            TetrisBlock[,] FigureView = Tetris.NextFigure?.GetView();

            for (int Y = 0; Y < Height; Y++)
            {
                if (TextBlock.Inlines.Count() > 0)
                {
                    AddText("\n");
                }

                for (int X = 0; X < Width; X++)
                {
                    if (TetrisView[X, Y] != null)
                    {
                        AddText("XX", TetrisView[X, Y].Color);
                    }
                    else
                    {
                        AddText("---", Colors.LightGray);
                    }
                }

                AddText(Tetris.Lines >= Height - Y ? " + " : " - ");

                switch (Y)
                {
                case 1:
                    AddText("  State: " + Tetris.State.ToString());
                    break;

                case 3:
                    AddText("  Level: " + Tetris.Level.ToString());
                    break;

                case 5:
                    AddText("  Score: " + Tetris.Score.ToString());
                    break;

                case 7:
                    AddText("  Next figure: ");
                    break;

                default:
                    const int FirstLine = 9;

                    if (FigureView != null && Y >= FirstLine && Y < FirstLine + FigureView.GetLength(1))
                    {
                        AddText("  ");

                        int FigureY = Y - FirstLine;

                        for (int FigureX = 0; FigureX < FigureView.GetLength(0); FigureX++)
                        {
                            if (FigureView[FigureX, FigureY] != null)
                            {
                                AddText("XX", FigureView[FigureX, FigureY].Color);
                            }
                            else
                            {
                                AddText("---", Colors.White);
                            }
                        }
                    }
                    break;
                }
            }

            FlowDocument Document = new FlowDocument();

            Document.Blocks.Add(TextBlock);

            //Tank.Text = Text;
            //ColorTank.Document = Document;
        }