<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MyAvaloniaApp.MainWindow"
Title="Простой калькулятор" Width="300" Height="250">
<StackPanel Margin="20" Spacing="10">
<!-- Первое число -->
<TextBox Name="Number1Box" Watermark="Введите первое число"/>
<!-- Второе число -->
<TextBox Name="Number2Box" Watermark="Введите второе число"/>
<!-- Кнопки математических операций -->
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Spacing="10">
<Button Content="+" Click="OnAddClick" Width="40"/>
<Button Content="-" Click="OnSubClick" Width="40"/>
<Button Content="*" Click="OnMulClick" Width="40"/>
<Button Content="/" Click="OnDivClick" Width="40"/>
</StackPanel>
<!-- Поле вывода результата -->
<TextBlock Name="ResultText" Text="Результат: " FontSize="18" Margin="0,10,0,0"/>
</StackPanel>
</Window>
using Avalonia.Controls;
using Avalonia.Interactivity;
namespace MyAvaloniaApp;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
// Сложение
private void OnAddClick(object? sender, RoutedEventArgs e)
{
double num1 = double.Parse(Number1Box.Text ?? "0");
double num2 = double.Parse(Number2Box.Text ?? "0");
ResultText.Text = "Результат: " + (num1 + num2);
}
// Вычитание
private void OnSubClick(object? sender, RoutedEventArgs e)
{
double num1 = double.Parse(Number1Box.Text ?? "0");
double num2 = double.Parse(Number2Box.Text ?? "0");
ResultText.Text = "Результат: " + (num1 - num2);
}
// Умножение
private void OnMulClick(object? sender, RoutedEventArgs e)
{
double num1 = double.Parse(Number1Box.Text ?? "0");
double num2 = double.Parse(Number2Box.Text ?? "0");
ResultText.Text = "Результат: " + (num1 * num2);
}
// Деление
private void OnDivClick(object? sender, RoutedEventArgs e)
{
double num1 = double.Parse(Number1Box.Text ?? "0");
double num2 = double.Parse(Number2Box.Text ?? "0");
if (num2 == 0)
{
ResultText.Text = "Ошибка: деление на 0!";
}
else
{
ResultText.Text = "Результат: " + (num1 / num2);
}
}
}