private void OperatorButtonClick(object sender, RoutedEventArgs e)
        {
            displayTextBox.FontSize = 50;
            double val;

            if (double.TryParse(displayTextBox.Text, out val) == false)
            {
                CButtonClick(sender, e);
                return;
            }
            pointActivated                = false;
            pressedButton.Background      = Brushes.Gray;
            currentNumber                 = double.Parse(displayTextBox.Text);
            (sender as Button).Background = Brushes.White;
            pressedButton                 = sender as Button;
            if ((sender as Button).Name == "equalButton")
            {
                (sender as Button).Background = Brushes.Gray;
                if (operationWaiting == true && operatorPressed == false)
                {
                    try
                    {
                        previousNumber = operatorSymbol.PerformBinaryOperation(previousNumber, currentNumber);
                    }
                    catch (ArithmeticException exception)
                    {
                        displayTextBox.FontSize = 30;
                        displayTextBox.Text     = exception.Message;
                        return;
                    }
                    operatorSymbol.OperatorProperty = Operator.OperatorSymbol.None;
                    operationWaiting    = false;
                    equalPressed        = true;
                    displayTextBox.Text = previousNumber.ToString();
                    if (digitGrouping == true)
                    {
                        string stringDecimal = "";
                        if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator))
                        {
                            stringDecimal = displayTextBox.Text.Substring(displayTextBox.Text.IndexOf(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator));
                        }
                        double numberOnDisplay = double.Parse(displayTextBox.Text);
                        int    number          = (int)numberOnDisplay;
                        string stringToDisplay = number.ToString("N", CultureInfo.CurrentCulture);
                        if (stringToDisplay.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator + "00"))
                        {
                            stringToDisplay = stringToDisplay.Replace(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator + "00", "");
                        }
                        if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator))
                        {
                            stringToDisplay += stringDecimal;
                        }
                        if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator) && stringToDisplay[stringToDisplay.Length - 1] == '0')
                        {
                            stringToDisplay = stringToDisplay.Substring(0, stringToDisplay.Length - 1);
                        }
                        displayTextBox.Text = stringToDisplay;
                    }
                    else
                    {
                        displayTextBox.Text += (sender as Button).Content.ToString();
                        double number = double.Parse(displayTextBox.Text);
                        displayTextBox.Text = number.ToString("G");
                    }
                    return;
                }
            }

            if (unaryOperation.Contains((sender as Button).Name))
            {
                (sender as Button).Background = Brushes.Gray;
                if (operationWaiting == true && operatorPressed == false)
                {
                    try
                    {
                        previousNumber      = operatorSymbol.PerformBinaryOperation(previousNumber, currentNumber);
                        displayTextBox.Text = previousNumber.ToString();
                        if (digitGrouping == true)
                        {
                            string stringDecimal = "";
                            if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator))
                            {
                                stringDecimal = displayTextBox.Text.Substring(displayTextBox.Text.IndexOf(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator));
                            }
                            double numberOnDisplay = double.Parse(displayTextBox.Text);
                            int    number          = (int)numberOnDisplay;
                            string stringToDisplay = number.ToString("N", CultureInfo.CurrentCulture);
                            if (stringToDisplay.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator + "00"))
                            {
                                stringToDisplay = stringToDisplay.Replace(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator + "00", "");
                            }
                            if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator))
                            {
                                stringToDisplay += stringDecimal;
                            }
                            if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator) && stringToDisplay[stringToDisplay.Length - 1] == '0')
                            {
                                stringToDisplay = stringToDisplay.Substring(0, stringToDisplay.Length - 1);
                            }
                            displayTextBox.Text = stringToDisplay;
                        }
                        else
                        {
                            displayTextBox.Text += (sender as Button).Content.ToString();
                            double number = double.Parse(displayTextBox.Text);
                            displayTextBox.Text = number.ToString("G");
                        }
                    }
                    catch (ArithmeticException exception)
                    {
                        displayTextBox.FontSize = 30;
                        displayTextBox.Text     = exception.Message;
                    }
                    return;
                }
                previousNumber = currentNumber;
                operatorSymbol.DetectOperator((sender as Button).Name);
                try
                {
                    previousNumber      = operatorSymbol.PerformUnaryOperation(previousNumber);
                    displayTextBox.Text = previousNumber.ToString();
                    if (digitGrouping == true)
                    {
                        string stringDecimal = "";
                        if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator))
                        {
                            stringDecimal = displayTextBox.Text.Substring(displayTextBox.Text.IndexOf(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator));
                        }
                        double numberOnDisplay = double.Parse(displayTextBox.Text);
                        int    number          = (int)numberOnDisplay;
                        string stringToDisplay = number.ToString("N", CultureInfo.CurrentCulture);
                        if (stringToDisplay.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator + "00"))
                        {
                            stringToDisplay = stringToDisplay.Replace(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator + "00", "");
                        }
                        if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator))
                        {
                            stringToDisplay += stringDecimal;
                        }
                        if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator) && stringToDisplay[stringToDisplay.Length - 1] == '0')
                        {
                            stringToDisplay = stringToDisplay.Substring(0, stringToDisplay.Length - 1);
                        }
                        displayTextBox.Text = stringToDisplay;
                    }
                    else
                    {
                        displayTextBox.Text += (sender as Button).Content.ToString();
                        double number = double.Parse(displayTextBox.Text);
                        displayTextBox.Text = number.ToString("G");
                    }
                }
                catch (ArithmeticException exception)
                {
                    displayTextBox.FontSize = 30;
                    displayTextBox.Text     = exception.Message;
                    return;
                }
            }
            currentNumber = double.Parse(displayTextBox.Text);
            if (operationWaiting == true && operatorPressed == false)
            {
                try
                {
                    previousNumber      = operatorSymbol.PerformBinaryOperation(previousNumber, currentNumber);
                    displayTextBox.Text = previousNumber.ToString();
                    if (digitGrouping == true)
                    {
                        string stringDecimal = "";
                        if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator))
                        {
                            stringDecimal = displayTextBox.Text.Substring(displayTextBox.Text.IndexOf(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator));
                        }
                        double numberOnDisplay = double.Parse(displayTextBox.Text);
                        int    number          = (int)numberOnDisplay;
                        string stringToDisplay = number.ToString("N", CultureInfo.CurrentCulture);
                        if (stringToDisplay.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator + "00"))
                        {
                            stringToDisplay = stringToDisplay.Replace(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator + "00", "");
                        }
                        if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator))
                        {
                            stringToDisplay += stringDecimal;
                        }
                        if (displayTextBox.Text.Contains(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator) && stringToDisplay[stringToDisplay.Length - 1] == '0')
                        {
                            stringToDisplay = stringToDisplay.Substring(0, stringToDisplay.Length - 1);
                        }
                        displayTextBox.Text = stringToDisplay;
                    }
                    else
                    {
                        displayTextBox.Text += (sender as Button).Content.ToString();
                        double number = double.Parse(displayTextBox.Text);
                        displayTextBox.Text = number.ToString("G");
                    }
                }
                catch (ArithmeticException exception)
                {
                    displayTextBox.FontSize = 30;
                    displayTextBox.Text     = exception.Message;
                }
                operatorSymbol.DetectOperator((sender as Button).Name);
                operationWaitingFirst = true;
            }
            else if (operatorPressed == false)
            {
                previousNumber = currentNumber;
                operatorSymbol.DetectOperator((sender as Button).Name);
                currentNumber         = 0;
                operationWaiting      = true;
                operationWaitingFirst = true;
            }
            else
            {
                operatorSymbol.DetectOperator((sender as Button).Name);
                currentNumber         = 0;
                operationWaiting      = true;
                operationWaitingFirst = true;
            }
            operatorPressed = true;
        }