Partager via


Créer une nouvelle méthode de gestionnaire d’événements

Cette page s’applique à WPF et Silverlight 2

Lorsque vous travaillez dans un projet Windows Presentation Foundation ou Silverlight 2, Microsoft Expression Blend peut générer du code pour les méthodes de gestionnaire d’événements vides, afin d’en faciliter la prise en main.

Cc294821.alert_note(fr-fr,Expression.10).gifRemarque :

Pour plus d’informations sur la gestion des événements de Microsoft Silverlight 1.0, voir Vue d’ensemble de Silverlight 1.0 et Créer un bouton qui contrôle une table de montage séquentiel dans une application Silverlight. Voir également Silverlight scripting and mouse events (en anglais).

Si Microsoft Visual Studio 2008 Standard Edition ou version ultérieure est installé, Expression Blend ouvre votre projet dans Visual Studio 2008, puis ouvre le fichier code-behind dans lequel il colle la méthode de gestionnaire d’événements vide. Si Visual Studio 2008 Standard Edition ou version ultérieure n’est pas installé, Expression Blend copie la méthode de gestionnaire d’événements vide dans le Presse-papiers. Vous pouvez ainsi ouvrir manuellement le fichier code-behind et y coller la méthode.

Pour plus d’informations sur les gestionnaires d’événements dans le code, voir Gestion des événements et interactivité utilisateur dans ce Guide de l’utilisateur. Pour plus d’informations sur la création d’interactivité dans votre application Expression Blend sans utilisation de code, voir Déclencheurs et interactivité avec l’utilisateur dans ce Guide de l’utilisateur.

Pour créer une nouvelle méthode de gestionnaire d’événements

  1. Ouvrez votre projet dans Expression Blend.

  2. Ouvrez votre document (par exemple Window1.xaml) en double-cliquant dessus sous Fichiers dans le panneau Projet. Votre document s’ouvre pour modification. Assurez-vous que vous êtes en mode Création en cliquant sur l’onglet Création à droite de la planche graphique.

  3. Sous Objets et chronologie dans le panneau Interaction, sélectionnez l’élément à connecter à une méthode de gestionnaire d’événements existante. Par exemple, si vous voulez qu’un élément rectangle se déplace à la suite d’un clic sur un bouton, sélectionnez l’élément bouton. L’arrière-plan du nom de l’élément sélectionné est mis en surbrillance.

  4. Dans le panneau Propriétés, cliquez sur le bouton ÉvénementsCc294821.6c67bb3b-e8a2-4a63-bad5-54d5c15b04dd(fr-fr,Expression.10).png. Une liste alphabétique de tous les événements disponibles s’affiche pour l’élément sélectionné.

    Cc294821.alert_caution(fr-fr,Expression.10).gifAttention :

    Les événements ne s’affichent pas si le projet est toujours dans un état temporaire. Par exemple, un projet nouvellement créé est stocké dans un emplacement temporaire jusqu’à ce que vous cliquiez sur Fichier et Enregistrer tout. Après avoir enregistré le projet, vous pouvez afficher et sélectionner les événements dans le panneau Événements. Par ailleurs, les événements ne s’affichent pas si vous avez sélectionné plusieurs objets en même temps sous Objets et chronologie (par exemple, en maintenant la touche Ctrl enfoncée pour sélectionner plusieurs objets).

    Cc294821.alert_tip(fr-fr,Expression.10).gifConseil :

    Pour afficher une courte description d’un événement, placez le pointeur de la souris sur le nom de l’événement. Une info-bulle affiche alors une description de l’événement. Vous pouvez également consulter la liste des événements disponibles et leur description dans Aide-mémoire sur les événements.

  5. Recherchez l’événement auquel ajouter la logique de programmation. Par exemple, dans l’exemple du rectangle et du bouton, recherchez l’événement MouseDown.

  6. Vous pouvez générer la méthode de gestionnaire d’événements vide de deux manières :

    • Double-cliquez dans la zone de texte en regard du nom de l’événement. Expression Blend génère un nom par défaut pour votre méthode de gestionnaire d’événements et l’inscrit dans la zone de texte, puis génère le code pour la méthode vide.

    • Tapez un nom dans la zone de texte en regard du nom de l’événement, puis appuyez sur Entrée ou cliquez en dehors de la zone de texte pour déplacer le focus hors de la zone de texte. Le nom des méthodes de gestionnaire d’événements doit commencer par une lettre. Si le nom de la méthode n’existe pas déjà dans le fichier code-behind, Expression Blend génère le code pour la méthode vide et utilise le nom que vous avez tapé.

    Cc294821.alert_tip(fr-fr,Expression.10).gifConseil :

    Vous pouvez configurer Expression Blend afin qu’il utilise le Presse-papiers, même si Visual Studio 2008 est installé. Dans le menu Outils, cliquez sur Options, puis cliquez sur Gestionnaires d’événements. Sous Expérience de modification, cliquez sur Presse-papiers uniquement.

  7. À ce stade, Expression Blend effectue l’une des actions suivantes :

    • Si Visual Studio 2008 Standard Edition ou version ultérieure est installé, Expression Blend ouvre votre projet dans Visual Studio 2008, puis ouvre le fichier code-behind dans lequel il colle automatiquement la méthode de gestionnaire d’événements vide.

    • Si Visual Studio 2008 Standard Edition ou version ultérieure n’est pas installé, Expression Blend copie la méthode vide de gestionnaire d’événements dans le Presse-papiers et affiche une fenêtre contextuelle qui décrit les actions que vous pouvez effectuer ensuite. Dans ce cas, vous pouvez ouvrir manuellement le fichier code-behind pour coller la méthode dans la définition de classe de la fenêtre, en procédant comme suit :

      public partial class Window1
      {
          public Window1()
          {
              this.InitializeComponent();
    
              // Insert code required on object creation below this point.
          }
    
          private void Button_MouseDown(object sender, RoutedEventArgs e)      {      }
      }
    
    Cc294821.alert_note(fr-fr,Expression.10).gifRemarque :

    Si une application, par exemple le Bloc-notes, est mappée aux fichiers .cs ou .vb, vous pouvez ouvrir votre fichier code-behind manuellement en double-cliquant sur son nom sous Fichiers dans le panneau Projet. Expression Blend ouvre le fichier dans l’application correspondante.

    Si aucune application n’est mappée aux fichiers .cs ou .vb, Expression Blend ne peut pas ouvrir le fichier en externe. Pour ouvrir le fichier, recherchez-le dans l’Explorateur Windows (ou, si vous avez enregistré votre projet dans Expression Blend, cliquez sur ExplorerProjet dans le menu Projet), cliquez avec le bouton droit sur le fichier .cs ou .vb à modifier, sélectionnez Ouvrir avec, puis sélectionnez Bloc-notes (ou une autre application d’édition). Après cette opération, vous pouvez ouvrir manuellement les fichiers code-behind depuis le panneau Projet dans Expression Blend.

  8. Votre fichier code-behind étant ouvert et la méthode de gestionnaire d’événements étant collée, vous pouvez commencer à ajouter du code à votre méthode. Pour les besoins de cette procédure, vous pouvez ajouter la ligne de code rouge suivante afin de faire apparaître une zone de message lorsque vous cliquez sur le bouton :

      private void Button_MouseDown(object sender, RoutedEventArgs e)
      {
          MessageBox.Show("Hello!");
      }
    

    Pour obtenir des exemples de méthodes de gestionnaires d’événements dans le fichier code-behind, voir les exemples disponibles dans l’Écran d’accueil (cliquez sur Écran d’accueil dans le menu ? (Aide)).

    Cc294821.alert_note(fr-fr,Expression.10).gifRemarque :

    Expression Blend indique une erreur de génération si vous faites référence à une méthode de gestionnaire d’événements dans le panneau Événements qui n’existe pas dans le fichier code-behind. Si vous obtenez ce type d’erreur, vous pouvez déterminer si le nom de la méthode de gestionnaire d’événements contient une erreur ou vous pouvez double-cliquer dans la zone de texte de l’événement pour créer une nouvelle méthode de gestionnaire d’événements vide.

    Lorsque vous supprimez ou modifiez le nom d’une méthode de gestionnaire d’événements dans une zone de texte du panneau Événements, Expression Blend ne supprime pas la méthode d’origine du fichier code-behind. En effet, il est possible que l’événement soit encore utilisé ailleurs. Vous ne recevez pas de message d’erreur de génération s’il existe une méthode de gestionnaire d’événements définie dans votre fichier code-behind à laquelle votre fichier XAML ne fait pas référence.

    Cc294821.alert_note(fr-fr,Expression.10).gifRemarque :

    Pour faire référence à un élément de votre fichier .xaml à partir d’un fichier code-behind, vous devez nommer l’élément dans le fichier .xaml. Par défaut, les éléments créés dans Expression Blend ne sont pas nommés. Vous pouvez nommer un élément sous Objets et chronologie dans le panneau Interaction en cliquant avec le bouton droit sur l’élément, puis en cliquant sur Renommer.