Pergunta

Eu preciso de um exemplo simples de um tunneling túnel evento roteado de um controle pai para um controle filho.

(Isto é não real CODE) - na verdade, o mais profundo que eu vou, mais eu acho que o XAML está errado - provavelmente não deve se inscrever para o evento tunnelled em XAML em o nó filho (não tenho certeza?)

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

Simples, exemplo concisa seria útil.

Obrigado, Alan

Foi útil?

Solução

Não tenho certeza, mas você pode estar querendo um gato a latir.

O RoutedEvent ClickEvent de Botão (de PresentationFramework) é declarada como:

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

Observe o readonly RoutingStrategy de Bubble.

A seguir pode ajudar com Tunnel compreensão, Bolha, e direto: msdn.microsoft.com/en-us/library/system.windows.routingstrategy.aspx

E isso deve levá-lo o resto do caminho: msdn.microsoft.com/en-us/magazine/cc785480.aspx

Uma dica: por eventos convenção de tunelamento em WPF começar com "Preview" (EG "PreviewExplode" Se o evento não começa com "Preview" ele provavelmente não usar o túnel RoutingStrategy também normalmente você vai ver.. um túnel e Bubble emparelhado com o túnel de disparar primeiro e depois a bolha como em "PreviewExplode" seguido de "explodir".

Se você precisa ter um botão Clique túnel, você pode considerar

  1. usando PreviewMouseDown (não o mesmo, claro, e provavelmente perigoso, já que nem todos os rato-downs são destinadas a tornar cliques).
  2. Escrevendo um TunnelButton que levanta uma PreviewClick e depois um clique.

Outras dicas

Acontece que o livro que tenho WPF em ação com Visual Studio 2008, na página 149, tem um diagrama muito enganosa que parece indicar que RoutedEvents pode ser criado em um nó pai e que evento roteado tunnelled para nós filhos.

Isso acaba por não ser o caso ... 1/2 dia soprado b / c de mau diagrama (bastante bom livro de outra forma) [ISBN: 1-933988-22-3]

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top