Почему кнопка XAML не может вызвать функцию без аргументов - PullRequest
0 голосов
/ 27 января 2020

У меня есть функция в create.cs

    private void FillGrid()
    {
        ClearingEntities CE = new ClearingEntities();
        var Accountss = CE.Accounts;
        DataGrid1.ItemsSource = Accountss.ToList();
    }

Я вызываю эту функцию из других .cs файлов, которые просто пишут FillGrid (); без аргументов

но из xaml в кнопке Click = "FillGrid" выдает ошибку

click автоматически сгенерированные функции имеют

  private void Button_Click(object sender, RoutedEventArgs e)

I не хочу вставлять эти отправителя объекта, RoutedEventArgs e arguments

, если я вставлю их в аргументы моей функции, тогда другой вызов должен быть изменен на

FillGrid ([аргумент], [аргумент]);

примечание: это не функция обработки событий, просто заполнить данные

как вызвать FillGrid () из xaml? без изменения create.cs

1 Ответ

2 голосов
/ 27 января 2020

Так работает Button Event. Подробнее о EventHandler здесь

Почему бы вам просто не использовать это:

<Button Click="FillGridClicked" />

//sender = button, RoutedEventArgs = arguments of that event
private void FillGridClicked(object sender, RoutedEventArgs e)
{
    FillGrid();
}

Каждому ClickEventHandler нужны эти аргументы, так как это пользовательский делегат определил таким образом. Если вы действительно хотите испустить это, вам нужно расширить кнопку и создать собственный обработчик кликов для себя. (см. это например)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...