Я создаю простое приложение ToDoList, используя C# и WPF. Цель состоит в том, чтобы при нажатии кнопки. Текст в TextBox будет добавлен как новый элемент в List, который является существующим экземпляром объекта.
Для этого я обновил сигнатуру обработчика события нажатия кнопки, чтобы включить параметр для передачи объекта List. , Когда я компилирую этот код, я получаю сообщение об ошибке из моего XAML-файла в строке, которая содержит Click = "AddTaskButton_Click"
Ошибка: Нет перегрузки для AddTaskButton_Click 'соответствует делегату' RoutedEventHandler '
Что может быть причиной этой ошибки? Я видел другие примеры кода, где это прекрасно компилируется. Есть ли другой способ выполнить sh передачу «данных» или объекта в обработчик событий в WPF? Я новичок в WPF.
XAML
<Button
x:Name="AddTaskButton" Content="+ Add"
Click="AddTaskButton_Click">
</Button>
Backend C#
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
List<string> taskList = new Tasklist {"Task A", "Task B", "Task C"}
AddTaskButton.Click += (object sender, RoutedEventArgs e) => { AddTaskButton_Click(sender, e, taskList); };
}
private void AddTaskButton_Click(object sender, RoutedEventArgs e, List<string> taskList)
{
// do something
}
}