Differenza tra Bolle e gli eventi di Tunneling

Qual è la differenza esatta tra Bubbling degli Eventi e gli eventi di Tunneling?
Dove devo usare Bubbling degli Eventi e dove devo usare il Tunneling eventi?
Grazie in Anticipo!

InformationsquelleAutor Neelendu | 2013-05-24

 

2 Replies
  1. 41

    WPF ci dà un certo numero di diversi meccanismi per la gestione di eventi –
    sono bolle, tunneling, e diretto. Questi sono noti come
    Eventi indirizzati.

    Diretto evento

    Sono probabilmente già utilizzato per la diretta dell’evento indirizzato. Questo è
    in cui l’elemento stesso gestisce l’evento che si è verificato. Un buon esempio
    vorresti essere la gestione di lui onClick-evento di un pulsante del mouse standard
    WinForms. Questo è dove viene generato l’evento in oggetto della GUI e ottiene
    gestito da detto elemento della GUI.

    Spumeggiante Evento

    Ora, tutti noi come alcune bolle in una forma o nell’altra. Bubbling succede
    quando l’evento non è gestita dall’elemento ( a dire textbox) e il
    evento “bollicine”, il suo modo l’interfaccia utente contenitori che li detengono. Per
    esempio, supponiamo di avere una finestra che contiene un pannello all’interno
    che pannello hai una griglia e all’interno della griglia si dispone di una casella di testo. Se
    l’evento non è gestito da textbox, poi si sposta, è passato o
    “bollicine”, fino al livello della griglia (griglia contiene la casella di testo), se
    non è gestito, a quel livello, allora l’evento bolle ulteriormente la
    “albero” (conosciuto come una struttura ad albero visuale) e il quadro in cui si può o non può
    essere trattati. Questo processo continua fino a quando non è gestito o l’evento
    “sfugge” il più alto elemento.

    Esempi di un evento di bubbling sarebbe qualcosa di simile a un
    MouseButtonDown evento. O un Keydown evento.

    Tunneling

    Di Tunneling è l’opposto di Bubbling. Così, invece di un evento di andare
    “fino” visual tree, l’evento si sposta verso il basso la struttura ad albero visuale verso
    l’elemento che è considerata la fonte. Il WPF standard di denominazione
    definizione di un evento di tunneling è che cominciano tutti con “anteprima”
    per esempio previewdownkey e previewmousebuttondown. È possibile
    prendere loro sul loro modo di “target” elemento e gestire. Un
    esempio di questo potrebbe essere forse avete alcuni controlli all’interno di una griglia
    di controllo e per qualche motivo hanno deciso che nessun controllo all’interno
    che griglia sarà permesso di avere la lettera “t” raggiungerlo.

    Fonte con l’opinione dell’autore e non posso sostenere, né d’accordo con.

    E un altro StackOverflow questione, che è praticamente la stessa.

    Un bel progetto demo

    E, ultimo ma non meno importante, la spiegazione e un altro tutorial.

    • Davvero ottima spiegazione, grazie +1. BTW, il link per “Un bel progetto demo” ora è morto.
  2. 4

    Come iniziare: la convenzione di denominazione in WPF per alcuni eventi di default è Preview<event> per il tunneling e <event> per gorgogliamento. Così, per esempio, per il KeyDown avremmo PreviewKeyDown e KeyDown, tunneling e spumeggiante, rispettivamente.

    La differenza tra i due, come la convenzione di denominazione comporta, è che un evento di tunneling inizio con il più alto nodo dell’albero (probabilmente la Finestra) e andare giù per la minore. Una spumeggiante evento avrà inizio il bambino e poi andare verso l’alto di nuovo.

    Questa guida dovrebbe spiegare chiaramente:
    http://www.codeproject.com/Articles/464926/To-bubble-or-tunnel-basic-WPF-events

Lascia un commento