Перейти к основному содержимому
Версия: 11.0.0

Обработка событий

Есть несколько способов обработки событий на Avalonia. На этой странице вы узнаете, как использовать один из самых распостраненных: нажатие кнопки.

В начале, вы напишите обработку нажатия кнопки, которое никак не взаимодействует с другими Controls.

Code-behind

XAML файл главного окна, связан с файлом C#. Если вы используете IDE, то можете найти этот файл в Solution Explorer (рус: обозреватель решений) - подпункт файла .axaml.

Для его изменения:

  • Откройте файл MainWindows.axaml.cs

Вы увидите код C#, похожий на нижеуказанный:

using Avalonia.Controls;

namespace GetStartedApp
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
}

Частичный класс MainWindow, соотстветстует объекту Window, который создается Avalonia UI на основании существующего файла XAML. Вы можете найти его по тегу:

<Window 
...
x:Class="GetStartedApp.MainWindow" >
</Window>

To add an event handler for the button, follow this procedure:

  • В файле MainWindows.axaml.cs, найдите конструктор MainWindows (инструкция была ранее)
  • Добавьте следующий код после конструктора:
public void ButtonClicked(object source, RoutedEventArgs args)
{
Debug.WriteLine("Click!");
}

Также необходимо подключить зависимости:

using Avalonia.Interactivity;
using System.Diagnostics;
  • Переключитесь на файл XAML и найдите тег <Button>
  • Добавить в него атрибут, как показано ниже:
<Button
...
Click="ButtonClicked">
</Button>
  • Запустите приложение и нажмите кнопку.

В окне отладки, вы дожны увидеть сообщения, например:

На следующей странице вы узнаете, как использовать Code-Behind для чтение и изменения свойств Controls во время работы программы.