WPF Como criar CUSTOM tunel RoutedEvent?
-
19-09-2019 - |
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
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
- usando PreviewMouseDown (não o mesmo, claro, e provavelmente perigoso, já que nem todos os rato-downs são destinadas a tornar cliques).
- 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]