Show / Hide Table of Contents

Практическое руководство. Добавление обработчика событий с помощью кода

В этом примере показано, как добавить обработчик событий к элементу с помощью кода.

Если вы хотите добавить обработчик событий к XAML элемент и разметка страницы, которая содержит элемент уже был загружен, необходимо добавить обработчик с помощью кода. Кроме того Если вы создаете вверх по дереву элементов, для приложения, используя только код и не объявляет никаких элементов, используя XAML, можно вызывать методы, определенные для добавления обработчиков событий в построенное дерево элементов.

Пример

В следующем примере добавляется новый Button на существующую страницу, которая изначально определена в XAML. Файл с выделенным кодом реализует метод обработчика событий и добавляет этот метод как новый обработчик событий на Button.

C# Примере += оператор присвоения обработчика события. Это тот же оператор, который используется для назначения обработчика в CLR модели обработки событий. Microsoft Visual Basic не поддерживает этот оператор как средства для добавления обработчиков событий. Вместо этого требуется один из двух способов:

  • Используйте AddHandler метод совместно с AddressOf оператор, для ссылки на реализацию обработчика событий.

  • Используйте Handles ключевое слово как часть определения обработчика событий. Этот способ не показан здесь. см. в разделе Visual Basic и обработка событий WPF.

<TextBlock Name="text1">Start by clicking the button below</TextBlock>
<Button Name="b1" Click="MakeButton">Make new button and add handler to it</Button>
public partial class RoutedEventAddRemoveHandler {
    void MakeButton(object sender, RoutedEventArgs e)
    {
        Button b2 = new Button();
        b2.Content = "New Button";
        // Associate event handler to the button. You can remove the event
        // handler using "-=" syntax rather than "+=".
        b2.Click  += new RoutedEventHandler(Onb2Click);
        root.Children.Insert(root.Children.Count, b2);
        DockPanel.SetDock(b2, Dock.Top);
        text1.Text = "Now click the second button...";
        b1.IsEnabled = false;
    }
    void Onb2Click(object sender, RoutedEventArgs e)
    {
        text1.Text = "New Button (b2) Was Clicked!!";
    }
Note

Добавление обработчика событий в изначально разобранную XAML страницы намного проще. В элементе объекта, где вы хотите добавить обработчик событий добавьте атрибут, который совпадает с именем события, которое необходимо обработать. Затем укажите значение этого атрибута в качестве имени метода обработчика событий, определенные в файле кода программной XAML страницы. Дополнительные сведения см. в разделе Обзор XAML (WPF) или Routed Events Overview.

См. также

  • Общие сведения о перенаправленных событиях
  • Практические руководства
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX