Pregunta

Tengo una ventana que contiene un cuadro de texto.

Tanto en la ventana como en el cuadro de texto, agrego una vista previaMousedoublecliclickandler.

manejador en la ventana:

private void PreviewMouseDoubleClickHandler(object sender, MouseButtonEventArgs e)
{
    Debug.WriteLine("handler in the window");
    e.Handled = true;
}

controlador en el cuadro de texto:

private void PreviewMouseDoubleClickHandler(object sender, MouseButtonEventArgs e)
{
    Debug.WriteLine("handler in the textBox");
    e.Handled = true;
}

Ahora, cuando haga doble clic en el cuadro de texto, espero ir primero al manejador de la ventana, imprimir la línea de depuración, luego manejar el evento, luego nada más. Pensé que el manejador del cuadro de texto no se dispararía ya que el evento ya ha sido manejado por la ventana.

Esto no funciona así: sin embargo, tengo ambos manipuladores disparados.

Lo extraño es: Funciona bien con el evento de vista previa. Si hago exactamente lo mismo, pero con vista previa en exceso, obtengo el comportamiento que espero, es decir.: La ventana maneja el mousedown y el manejador del cuadro de texto no está despedido.

Entonces, ¿por qué esto no funciona con el evento DoubleClick? ¿Estoy haciendo algo mal? ¿Se supone que funciona así? ¿El evento de DoubleClick se administra de una manera diferente, lo que me impide usar las ventajas del túnel?

¿Fue útil?
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top