Erstellen einer neuen Ereignishandlermethode
In Windows Presentation Foundation (WPF)- oder Microsoft Silverlight-Projekten wird von Microsoft Expression Blend automatisch Code für leere Ereignishandlermethoden erstellt, um Ihnen den Einstieg in das Projekt zu erleichtern.
Expression Blend öffnet die CodeBehind-Datei und fügt dann die leere Ereignishandlermethode ein.
Informationen zu Ereignishandlern mit Code oder zum Erstellen von Interaktivität in der Expression Blend-Anwendung ohne Verwendung von Code finden unter Schreiben von Code, der auf Ereignisse reagiert.
So erstellen Sie eine neue Ereignishandlermethode
Öffnen Sie Ihr Expression Blend-Projekt.
Öffnen Sie das Dokument (z. B. MainWindow.xaml), indem Sie im Projektpanel 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.
Wählen Sie im Panel Objekte und Zeitachsen das Element aus, das Sie in eine vorhandene Ereignishandlermethode einbinden möchten. Wählen Sie beispielsweise das Schaltflächenelement aus, wenn ein Rechteckelement beim Klicken auf die Schaltfläche bewegt werden soll.
Der Hintergrund hinter dem Elementnamen ist hervorgehoben, um anzuzeigen, dass das Element ausgewählt ist.
Klicken Sie im Eigenschaftenpanel auf die Schaltfläche Ereignisse.
Eine Liste aller verfügbaren Ereignisse für das ausgewählte Element wird in alphabetischer Reihenfolge angezeigt.
Vorsicht: Ereignisse werden nicht angezeigt, wenn Sie im Panel Objekte und Zeitachsen mehrere Objekte gleichzeitig ausgewählt haben (z. B. durch Drücken der STRG-TASTE).
Tipp: 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.
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.
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.
Expression Blend öffnet die CodeBehind-Datei und fügt dann die leere Ereignishandlermethode ein.
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) { } }
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).
Hinweis: Wenn Sie im Ereignispanel auf eine Ereignishandlermethode verweisen, die in der Code-Behind-Datei nicht vorhanden ist, wird von Expression Blend 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 von Expression Blend 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.
Hinweis: 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 Panel Objekte und Zeitachsen einen Namen für ein Element festlegen, indem Sie mit der rechten Maustaste auf das Element und dann auf Umbenennen klicken.