web-dev-qa-db-fra.com

Comment ajouter un gestionnaire d'événements par programme dans WPF comme on peut le faire dans Winform

Quel est l'équivalent de cette instruction winform:

this.button1.Click += new System.EventHandler(this.button1_Click);

dans WPF?

Mise à jour: également pour un curseur. Et quel espace de noms devrais-je déclarer?

Mon point n'est pas d'utiliser XAML.

23
user310291

Quelque chose comme ça...

this.btnTest.Click+=new RoutedEventHandler(btnTest_Click);
21
ChrisNel52

Essaye ça:

 button1.AddHandler(Button.ClickEvent, new RoutedEventHandler(button1_Click));

alors vous devez créer une fonction comme celle-ci

void button1_Click(object sender, RoutedEventArgs e)
    {
        throw new NotImplementedException();
    }
10
Chandru A

Si vous ajoutez le nouvel événement du côté XAML, IDE effectue la majeure partie du travail à votre place.

Par exemple, si vous tapez

<Button Name="button1" Click=

alors IDE apparaîtra avec une liste déroulante de tous vos événements actuellement créés.

Vous pouvez sélectionner l'un de vos événements créés précédemment ou en créer un en sélectionnant "Nouveau gestionnaire d'événements".

Si vous sélectionnez "Nouveau gestionnaire d'événement", VS ajoute automatiquement le squelette pour vous dans le fichier code C-code de form.xaml.cs. Vous ajoutez simplement ce que vous voulez que l'événement click fasse dans le squelette déjà créé.

J'espère que cela t'aides!

5
AmbiguousX

WPF n’est pas un nouveau langage, c’est exactement le même concept. La seule chose qui peut changer est le type de délégué. Alors oui, vous le feriez de la même manière.

0
Ed S.