Bagikan melalui


Cara: Menambahkan Penanganan Aktivitas Menggunakan Kode

Contoh ini menunjukkan cara menambahkan penanganan aktivitas ke elemen dengan menggunakan kode.

Jika Anda ingin menambahkan penanganan aktivitas ke elemen XAML, dan halaman markup yang berisi elemen telah dimuat, Anda harus menambahkan handler menggunakan kode. Atau, jika Anda membangun pohon elemen untuk aplikasi yang sepenuhnya menggunakan kode dan tidak mendeklarasikan elemen apa pun menggunakan XAML, Anda dapat memanggil metode tertentu untuk menambahkan penanganan peristiwa ke pohon elemen yang dibangun.

Contoh

Contoh berikut menambahkan baru Button ke halaman yang sudah ada yang awalnya ditentukan dalam XAML. File code-behind mengimplementasikan metode penanganan aktivitas lalu menambahkan metode tersebut Buttonsebagai penanganan aktivitas baru pada .

Contoh C# menggunakan += operator untuk menetapkan handler ke peristiwa. Ini adalah operator yang sama yang digunakan untuk menetapkan handler dalam model penanganan peristiwa common language runtime (CLR). Microsoft Visual Basic tidak mendukung operator ini sebagai sarana untuk menambahkan penanganan aktivitas. Sebaliknya membutuhkan salah satu dari dua teknik:

  • AddHandler Gunakan metode , bersama dengan AddressOf operator, untuk mereferensikan implementasi penanganan aktivitas.

  • Handles Gunakan kata kunci sebagai bagian dari definisi penanganan aktivitas. Teknik ini tidak ditunjukkan di sini; lihat Penanganan Peristiwa Visual Basic dan 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!!";
    }
Public Partial Class RoutedEventAddRemoveHandler
    Private Sub MakeButton(ByVal sender As Object, ByVal e As RoutedEventArgs)
        Dim b2 As Button = New Button()
        b2.Content = "New Button"
        AddHandler b2.Click, AddressOf Onb2Click
        root.Children.Insert(root.Children.Count, b2)
        DockPanel.SetDock(b2, Dock.Top)
        text1.Text = "Now click the second button..."
        b1.IsEnabled = False
    End Sub
    Private Sub Onb2Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
        text1.Text = "New Button (b2) Was Clicked!!"
    End Sub

Catatan

Menambahkan penanganan aktivitas di halaman XAML yang awalnya diurai jauh lebih sederhana. Dalam elemen objek tempat Anda ingin menambahkan penanganan aktivitas, tambahkan atribut yang cocok dengan nama peristiwa yang ingin Anda tangani. Kemudian tentukan nilai atribut tersebut sebagai nama metode penanganan aktivitas yang Anda tentukan dalam file code-behind halaman XAML. Untuk informasi selengkapnya, lihat XAML di Gambaran Umum Peristiwa Yang Dirutekan atau WPF.

Baca juga