private void Cell_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
        {
            TextBox tb = sender as TextBox;

            if (tb.DataContext is RegexPuzzleRectCellVM)
            {
                RegexPuzzleRectCellVM cellVM = tb.DataContext as RegexPuzzleRectCellVM;
                cellVM.RemoveRepeatedChars();
            }
        }
        private void Cell_PasteUnwrapped(object sender, RoutedEventArgs e)
        {
            FrameworkElement fe = sender as FrameworkElement;

            if (fe.DataContext is RegexPuzzleRectCellVM)
            {
                RegexPuzzleRectCellVM cellVM = fe.DataContext as RegexPuzzleRectCellVM;
                cellVM.PasteUnwrapped();
            }
        }
        private void Cell_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            TextBox tb = sender as TextBox;

            if (tb.DataContext is RegexPuzzleRectCellVM)
            {
                RegexPuzzleRectCellVM cellVM = tb.DataContext as RegexPuzzleRectCellVM;
                cellVM.IsTemp = !cellVM.IsTemp;
            }
        }