Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Gewusst wie: Behandeln eines Routingereignisses

 

Veröffentlicht: Juni 2016

Dieses Beispiel zeigt die Funktionsweise von Bubbling-Ereignissen und das Schreiben eines Handlers, der die Daten des Routingereignisses verarbeiten kann.

Beispiel

In Windows Presentation Foundation (WPF) werden Elemente in einer Elementstruktur angeordnet. Das übergeordnete Element kann sich an der Behandlung von Ereignissen beteiligen, die ursprünglich von untergeordneten Elementen in der Elementstruktur ausgelöst wurden. Dies ist aufgrund des Ereignisroutings möglich.

Routingereignisse verfolgen normalerweise eine der folgenden Routingstrategien: Bubbling oder Tunneling. In diesem Beispiel wird das Bubbling-Ereignis und das ButtonBase.Click-Ereignis verwendet, um das Routing zu verdeutlichen.

Im folgenden Beispiel werden zwei Button-Steuerelemente erstellt, und die XAML-Attributsyntax wird verwendet, um einen Ereignishandler an ein gemeinsames übergeordnetes Element anzufügen (in diesem Beispiel StackPanel). Anstatt einzelne Ereignishandler für jedes untergeordnete Button-Element anzufügen, wird im Beispiel die Attributsyntax verwendet, um den Ereignishandler dem übergeordneten StackPanel-Element hinzuzufügen. Dieses Ereignisbehandlungsmuster zeigt, wie Sie das Ereignisrouting als Verfahren zum Reduzieren der Anzahl an Elementen verwenden, an die ein Handler angefügt wurde. Alle Bubbling-Ereignisse für die einzelnen Button-Elemente werden über das übergeordnete Element geroutet.

Beachten Sie, dass für das übergeordnete StackPanel-Element der als Attribut angegebene Click-Ereignisname teilweise qualifiziert wird, indem die Button-Klasse benannt wird. Die Button-Klasse ist eine von ButtonBase abgeleitete Klasse, deren Memberauflistung über das Click-Ereignis verfügt. Dieses Teilqualifikationsverfahren zum Anfügen eines Ereignishandlers ist erforderlich, wenn das behandelte Ereignis in der Memberauflistung des Elements nicht vorhanden ist, an das der Routingereignishandler angefügt ist.

Im folgenden Beispiel wird das Click-Ereignis behandelt. Das Beispiel zeigt, welches Element das Ereignis behandelt und welches Element das Ereignis auslöst. Der Ereignishandler wird ausgeführt, wenn der Benutzer auf eine Schaltfläche klickt.

Anzeigen: