Загрузка данных


using Avalonia.Controls;
using Avalonia.Interactivity;

namespace CalculatorApp
{
    public partial class MainWindow : Window
    {
        private double _firstNumber = 0;
        private string _operation = "";
        private bool _isNewInput = true;

        public MainWindow()
        {
            InitializeComponent();
        }

        // Нажатие на цифру
        private void OnDigitClick(object sender, RoutedEventArgs e)
        {
            if (sender is Button button)
            {
                string digit = button.Content?.ToString() ?? "";

                if (_isNewInput || Display.Text == "0")
                {
                    Display.Text = digit;
                    _isNewInput = false;
                }
                else
                {
                    Display.Text += digit;
                }
            }
        }

        // Нажатие на операцию (+, -, *, /)
        private void OnOperationClick(object sender, RoutedEventArgs e)
        {
            if (sender is Button button)
            {
                double.TryParse(Display.Text, out _firstNumber);
                _operation = button.Content?.ToString() ?? "";
                _isNewInput = true;
            }
        }

        // Нажатие на "="
        private void OnEqualsClick(object sender, RoutedEventArgs e)
        {
            if (double.TryParse(Display.Text, out double secondNumber))
            {
                double result = 0;

                switch (_operation)
                {
                    case "+": result = _firstNumber + secondNumber; break;
                    case "-": result = _firstNumber - secondNumber; break;
                    case "*": result = _firstNumber * secondNumber; break;
                    case "/": 
                        result = secondNumber != 0 ? _firstNumber / secondNumber : 0; 
                        break;
                }

                Display.Text = result.ToString();
                _isNewInput = true;
                _operation = "";
            }
        }

        // Сброс (Кнопка C)
        private void OnClearClick(object sender, RoutedEventArgs e)
        {
            Display.Text = "0";
            _firstNumber = 0;
            _operation = "";
            _isNewInput = true;
        }
    }
}