2010-03-23 13 views
10

Tengo el siguiente problema:desactivar eventos burbujeante C# WPF

Cuando llegué dos etiquetas en uno a:

<Label x:Name="First" MouseUp="Label_MouseUp"> 
    <Label x:Name="Second" MouseUp="Label_MouseUp_1">This is a label into another label</Label> 
</Label> 

Y el siguiente código:

private void Label_MouseUp(object sender, MouseButtonEventArgs e) 
{ 
    Console.WriteLine("Do NOT show me"); 
} 

private void Label_MouseUp_1(object sender, MouseButtonEventArgs e) 
{ 
    Console.WriteLine("Show me"); 
} 

Cuando hago clic en "Segundo", quiero que active solo "Label_MouseUp_1". Pero en mi consola me sale:

Muéstrame
No mostrar

¿Hay una manera de desactivar los eventos burbujeantes?

(también, "primero" tiene que ser puede hacer clic, por lo que eliminar el caso de que esto no resuelve el problema)

Thnx

Respuesta

25

no tengo los documentos justo en frente de mí, pero Creo que si marca el objeto MouseButtonEventArgs como manejado, detiene el evento para que no suba la cadena.

debe ser tan simple como

e.Handled = true; 

Por favor, que alguien me corrija si estoy equivocado acerca de esto.

+0

Eso es un guión rápido :) Voy a probar esto de una vez. Muchas gracias – Ruben

+0

Esto funciona perfecto. Gracias – Ruben

+0

¡Gran respuesta, feliz Navidad! –

Cuestiones relacionadas