Обработка событий
Есть несколько способов обработки событий на 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>
Если вы используете IDE, то при вводе должны отобразиться возможные варианты.
![](/ru/assets/images/button-intellisense-click-14fcda33f19d7f427db2aba9c56cc78e.png)
- Запустите приложение и нажмите кнопку.
В окне отладки, вы дожны увидеть сообщения, например:
На следующей странице вы узнаете, как использовать Code-Behind для чтение и изменения свойств Controls во время работы программы.