Tema: Evento wpf
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/02/2017, 15:42
agleiva
(Desactivado)
 
Fecha de Ingreso: enero-2015
Mensajes: 393
Antigüedad: 9 años, 3 meses
Puntos: 52
Respuesta: Evento wpf

Cita:
Iniciado por sacris1 Ver Mensaje
Gente he hecho esto haber que os parece
El problema con hacer eso es que tu codigo esta completamente atado a la estructura de la GUI:

Tu codigo espera:
1 - Que el evento sea invocado por un Button (que no es el unico UIElement que soporta el evento Click)
2 - Que el Content del Button sea un StackPanel.
3 - Que el StackPanel tenga al menos 3 logical childs.
4 - Que el 3er logical child del StackPanel sea un TextBlock.

Si cualquiera de los puntos anteriores no fuese cierto en tiempo de ejecución (cosa que puede ocurrir fácilmente si se decidiera darle un estilo visual diferente a la GUI) tu código dejaría de funcionar.
Esto hace que tu código sea muy frágil, como ves. Es por eso que es recomendable un approach mucho más desacoplado.

En contraste, mi código (en la respuesta anterior) espera:

1 - Que el evento sea invocado por un FrameworkElement (esto incluye cualquier elemento visual con interactividad, no limitado a un Button)
2 - Que el DataContext de dicho FrameworkElement sea un objeto de tipo MiClase (puesta como ejemplo), que siempre va a ser cierto mientras el evento sea disparado desde cualquier elemento que esté dentro del ListBox.ItemTemplate

Como ves, mi código tiene muchas menos "expectativas" o requisitos para funcionar, abarca una mayor cantidad de casos (soportando cualquier elemento y no solo Button), y NO depende de la disposición visual de los elementos. Esto hace que el código sea más robusto y menos propenso a errores.