Domanda

Ho bisogno di un semplice esempio di un tunnel Tunnel evento indirizzato da un controllo genitore di un controllo figlio.

(questo è non REAL CODE) - infatti, il più profondo vado, più penso che il codice XAML è sbagliato - probabilmente non dovrebbe firmare per l'evento tunnellizzato in XAML su il nodo figlio (non sono sicuro?)

<PARENT>    
   <MyControl DoSomethingOnUserAction="raiseTunnelEvent"> HELP </MyControl >    
   <CHILD> I SHOULD HANDLE tunnelled event </CHILD> 
</PARENT>

Semplice, conciso esempio sarebbe utile.

Grazie, Alan

È stato utile?

Soluzione

Non è sicuro, ma si può mancare un gatto ad abbaiare.

Il RoutedEvent ClickEvent di Button (da PresentationFramework) è dichiarata come:

public static readonly RoutedEvent ClickEvent = 
    EventManager.RegisterRoutedEvent("Click", 
    RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof
    (ButtonBase));

Si noti la readonly RoutingStrategy di Bubble.

Di seguito può aiutare con la comprensione Tunnel, Bolla, e diretto: msdn.microsoft.com/en-us/library/system.windows.routingstrategy.aspx

E questo dovrebbe prendere il resto del modo: msdn.microsoft.com/en-us/magazine/cc785480.aspx

Un consiglio:.. Dagli eventi convenzione tunneling in WPF iniziano con "Anteprima" (EG "PreviewExplode" Se l'evento non inizia con "Anteprima" probabilmente non utilizzare il tunnel RoutingStrategy Inoltre di solito vedere un tunnel e Bubble in coppia con il tunnel sotto la cottura prima poi la bolla come in "PreviewExplode" seguito da "esplodere".

Se avete bisogno di avere Clicca tunnel di un pulsante, si potrebbe considerare

  1. utilizzando PreviewMouseDown (non lo stesso, naturalmente, e probabilmente pericoloso, in quanto non tutti i mouse-down sono destinati a diventare clic).
  2. Scrivi TunnelButton che solleva una PreviewClick e poi un clic.

Altri suggerimenti

Si scopre che il libro che ho WPF in azione con Visual Studio 2008, a pagina 149, ha un diagramma molto fuorviante che sembra indicare che RoutedEvents possono essere sollevati in un nodo padre e che evento indirizzato via Tunnel di nodi figlio.

Ciò si rivela non essere il caso ... 1/2 giornata soffiato b / c del cattivo diagramma (abbastanza buon libro in altro modo) [ISBN: 1-933988-22-3]

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top