Erstellen einer neuen Ereignishandlermethode

Diese Seite bezieht sich auf WPF und Silverlight 2

In Windows Presentation Foundation- oder Silverlight 2-Projekten wird automatisch Code für leere Ereignishandlermethoden erstellt, um Ihnen den Einstieg in das Projekt zu erleichtern.

Cc294821.alert_note(de-de,Expression.10).gifHinweis:

Informationen zum Ereignishandling in Microsoft Silverlight 1.0 finden Sie unter Silverlight 1.0 - Übersicht und Erstellen einer Schaltfläche zur Steuerung eines Storyboards in einer Silverlight-Anwendung. Siehe auch Silverlight-Skripting- und Mausereignisse (möglicherweise in englischer Sprache).

Wenn Microsoft Visual Studio 2008 in der Standard Edition oder einer aktuelleren Version auf Ihrem Computer installiert ist, wird das Projekt von Expression Blend in Visual Studio 2008 geöffnet. Dann wird die Code-Behind-Datei geöffnet und die leere Ereignishandlermethode hinzugefügt. Wenn Visual Studio 2008 Standard Edition oder höher nicht installiert ist, wird die leere Ereignishandlermethode in die Zwischenablage kopiert, sodass Sie die Code-Behind-Datei manuell öffnen und den Code einfügen können.

Weitere Informationen zu Ereignishandlern in Code finden Sie in diesem Benutzerhandbuch unter Ereignishandling und Benutzerinteraktivität. Informationen zum Erstellen von Interaktivität in der Expression Blend-Anwendung ohne Verwendung von Code finden Sie in diesem Benutzerhandbuch unter Auslöser und Benutzerinteraktivität.

So erstellen Sie eine neue Ereignishandlermethode

  1. Öffnen Sie das Projekt in Expression Blend.

  2. Öffnen Sie das Dokument (z. B. Window1.xaml), indem Sie im Projektpanel unter Dateien auf das Dokument doppelklicken. Das Dokument wird zur Bearbeitung geöffnet. Stellen Sie sicher, dass Sie sich in der Designansicht befinden, indem Sie auf der rechten Seite der Zeichenfläche auf die Registerkarte Design klicken.

  3. Wählen Sie im Interaktionspanel unter Objekte und Zeitachsen das Element aus, das Sie in eine vorhandene Ereignishandlermethode einbinden möchten. Beispiel: Sie möchten ein Rechteckelement durch einen Klick mit einer Taste auf die entsprechende Schaltfläche verschieben. Wählen Sie das Schaltflächenobjekt aus. Der Hintergrund hinter dem Namen des Objekts wird hervorgehoben, um anzuzeigen, dass das Objekt ausgewählt ist.

  4. Klicken Sie im Eigenschaftenpanel auf die Schaltfläche EreignisseCc294821.6c67bb3b-e8a2-4a63-bad5-54d5c15b04dd(de-de,Expression.10).png. Eine Liste der für das ausgewählte Objekt verfügbaren Ereignisse wird in alphabetischer Reihenfolge angezeigt.

    Cc294821.alert_caution(de-de,Expression.10).gifVorsicht:

    Falls sich das Projekt in einem temporären Zustand befindet, werden keine Ereignisse angezeigt. Ein neu erstelltes Projekt wird z. B. an einem temporären Speicherort gespeichert, bis Sie im Menü Datei auf Alles speichern klicken. Nach dem Speichern des Projekts können Sie die Ereignisse im Ereignispanel sehen und auswählen. Ereignisse werden nicht angezeigt, wenn Sie unter Objekte und Zeitachsen mehrere Objekte gleichzeitig ausgewählt haben (z. B. durch Drücken der STRG-TASTE).

    Cc294821.alert_tip(de-de,Expression.10).gifTipp:

    Sie können eine kurze Beschreibung eines Ereignisses anzeigen, indem Sie den Mauszeiger über den Namen des Ereignisses bewegen. Es wird eine QuickInfo mit einer Beschreibung des Ereignisses angezeigt. Darüber hinaus enthält die Kurzübersicht der Ereignisse eine Liste der verfügbaren Ereignisse und ihrer Beschreibungen.

  5. Suchen Sie das Ereignis, dem Sie Programmierlogik hinzufügen möchten. In dem Beispiel mit dem Rechteck und der Schaltfläche suchen Sie z. B. das MouseDown-Ereignis.

  6. Die leere Ereignishandlermethode kann auf zwei Arten generiert werden:

    • Doppelklicken Sie im Textfeld neben den Ereignisnamen. Ein Standardname für die Ereignishandlermethode wird von Expression Blend generiert und in das Textfeld eingegeben, anschließend wird der Code für die leere Methode generiert.

    • Geben Sie in das Textfeld neben dem Ereignisnamen einen Namen ein, und drücken Sie dann die EINGABETASTE, oder klicken Sie auf eine andere Position, damit das Textfeld nicht mehr den Fokus besitzt. Namen von Ereignismethoden müssen mit einem Buchstaben beginnen. Falls der Methodenname noch nicht in der CodeBehind-Datei vorhanden ist, wird der Code für die leere Methode von Expression Blend generiert, und es wird der von Ihnen eingegebene Name verwendet.

    Cc294821.alert_tip(de-de,Expression.10).gifTipp:

    Sie können in Expression Blend festlegen, dass die Zwischenablage verwendet werden soll, auch wenn Visual Studio 2008 installiert ist. Klicken Sie im Menü Werkzeuge auf Optionen, und klicken Sie dann auf Ereignishandler. Klicken Sie unter Bearbeitungsoptionen auf Nur Zwischenablage.

  7. Anschließend wird eines der folgenden Verfahren von Expression Blend ausgeführt:

    • Wenn Visual Studio 2008 in der Standard Edition oder einer aktuelleren Version auf Ihrem Computer installiert ist, wird das Projekt von Expression Blend in Visual Studio 2008 geöffnet. Dann wird die Code-Behind-Datei geöffnet und die leere Ereignishandlermethode hinzugefügt.

    • Ist Visual Studio 2008 Standard Edition oder höher nicht installiert, wird die leere Ereignishandlermethode in die Zwischenablage kopiert. Dann wird ein Popupfenster geöffnet, in dem die nächsten Schritte beschrieben werden. In diesem Fall können Sie die Code-Behind-Datei manuell öffnen, um die Methode wie folgt in die Klassendefinition für das Fenster einzufügen:

      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(de-de,Expression.10).gifHinweis:

    Falls den CS- oder VB-Dateien eine Anwendung (z. B. Editor) zugeordnet ist, können Sie die Code-Behind-Datei manuell öffnen, indem Sie im Projektpanel unter Dateien auf den Dateinamen doppelklicken. Die Datei wird in der zugeordneten Anwendung geöffnet.

    Falls Sie den CS- oder VB-Dateien keine Anwendung zugeordnet haben, kann die Datei von Expression Blend nicht extern geöffnet werden. Suchen Sie in diesem Fall die Datei in Windows-Explorer (ist das Projekt in Expression Blend gespeichert, können Sie auch im Menü Projekt auf Projekt durchsuchen klicken). Klicken Sie mit der rechten Maustaste auf die zu bearbeitende CS- oder VB-Datei, wählen Sie Öffnen mit aus, und wählen Sie anschließend Editor (oder eine andere Bearbeitungsanwendung) aus. Anschließend können Sie die Code-Behind-Dateien manuell über das Projektpanel in Expression Blend öffnen.

  8. Haben Sie die CodeBehind-Datei geöffnet und die Ereignishandlermethode eingefügt, können Sie der Methode Code hinzufügen. Fügen Sie für den Zweck dieses Verfahrens die folgende Codezeile in rot hinzu, die bei einem Klick auf die Schaltfläche ein Meldungsfeld einblendet:

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

    Beispiele für Ereignishandlermethoden in Code-Behind-Dateien finden Sie unter den auf der Willkommenseite verfügbaren Beispielen (klicken Sie im Menü Hilfe auf Willkommenseite).

    Cc294821.alert_note(de-de,Expression.10).gifHinweis:

    Wenn Sie im Ereignispanel auf eine Ereignishandlermethode verweisen, die in der Code-Behind-Datei nicht vorhanden ist, wird ein Erstellungsfehler ausgegeben. Falls diese Art von Fehler ausgegeben wird, können Sie überprüfen, ob ein Rechtschreibfehler im Namen der Ereignishandlermethode vorliegt. Sie können auch in das Textfeld für das Ereignis doppelklicken, um eine neue leere Ereignishandlermethode zu erstellen.

    Wenn Sie den Namen einer Ereignishandlermethode im Ereignispanel in einem Textfeld löschen oder ändern, wird die ursprüngliche Methode nicht aus der Code-Behind-Datei gelöscht. Der Grund hierfür liegt darin, dass das Ereignis möglicherweise noch an anderer Stelle verwendet wird. Es wird kein Erstellungsfehler angezeigt, wenn in der CodeBehind-Datei eine Ereignishandlermethode definiert ist, auf die in der XAML-Datei nicht verwiesen wird.

    Cc294821.alert_note(de-de,Expression.10).gifHinweis:

    Wenn Sie in einer CodeBehind-Datei auf ein Element in der XAML-Datei verweisen möchten, müssen Sie das Element in der XAML-Datei benennen. Standardmäßig haben Elemente in Expression Blend keinen Namen. Sie können im Interaktionspanel unter Objekte und Zeitachsen einen Namen für ein Element festlegen, indem Sie mit der rechten Maustaste auf das Element und dann auf Umbenennen klicken.