public CrosswordSolvingPage(Crossword crossword)
        {
            InitializeComponent();

            this.crossword = crossword;

            FillGrid(24);

            CrosswordNameTextBlock.Text = this.crossword.name;

            foreach (var placement in crossword.placements)
            {
                if (placement.isVertical)
                {
                    DefinitionsVerticalTextBlock.Text +=
                        $"{placement.index} - {crossword.words[placement.wordIndex].definition}\n\n";
                }
                else
                {
                    DefinitionsHorizontalTextBlock.Text +=
                        $"{placement.index} - {crossword.words[placement.wordIndex].definition}\n\n";
                }
            }

            stopwatch = new Stopwatch();
            stopwatch.Start();
        }
        public SolvingResultPage(Crossword crossword, char[,] enteredLetters, TimeSpan elapsedTime)
        {
            InitializeComponent();

            this.crossword      = crossword;
            this.enteredLetters = enteredLetters;

            CrosswordNameTextBlock.Text = this.crossword.name;
            var solvedWords = SolvedWords;

            RightWordsTextBlock.Text =
                $"{solvedWords} из {crossword.words.Count} ({Math.Round(solvedWords / (double) crossword.words.Count * 100, 2)}%)";
            ElapsedTimeTextBlock.Text = elapsedTime.ToString("hh':'mm':'ss");

            FillGrid(24);
        }