Pregunta

Estoy encontrando un gran problema, he intentado todo lo que pude, pero no se encontró ninguna solución. Tengo un cuadro de lista, con un DataTemplate. Quiero usar los eventos MouseLeftButtonDown y MouseLeftButtonUp para comprobar el elemento seleccionado es el mismo que el usuario ha hecho clic.

El problema es que el evento es reconocido MouseLeftButtonUp pero no es el caso MouseLeftButtonDown.

Una parte de mi código XAML:

<ListBox Grid.Row="1" MouseLeftButtonDown="listBox_Faits_MouseLeftButtonDown"
                      MouseLeftButtonUp="listBox_Faits_MouseLeftButtonUp">

El código detrás:

    private void listBox_Faits_MouseLeftButtonUp(object sender, MouseEventArgs e)
    {
        ...
    }
    private void listBox_Faits_MouseLeftButtonDown(object sender, MouseEventArgs e)
    {
        ...
    }

Es alguien sabe por qué?

Gracias usted,

Saludos,

Flo

¿Fue útil?

Solución

Esto sucede porque el evento MouseLeftButtonDown se está manejado por el elemento del cuadro de lista. Para controlar los eventos que ya se manejan puede suscribirse a ella en el código subyacente y especificar que desea controlar los eventos manipulados, como esto:

listBox_Faits.AddHandler(MouseLeftButtonDownEvent, new MouseButtonEventHandler(listBox_Faits_MouseLeftButtonDown), true);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top