WPF: Objeto Canvas no responde a eventos del tipo KeyDown, KeyUp …
Si estás diseñando un Canvas, con o sin objetos, y necesitas que se lance un evento al pulsar una tecla te darás cuenta que nunca se llega a lanzar cuando programas un evento del tipo KeyDown sobre el Canvas.
El comportamiento de un canvas en WPF es algo especial (ya comenté otra peculiaridad del Canvas en WPF) y conseguir que llegue a funcionar como quieres puede darte algún quebradero de cabeza. Una solución alternativa a este problema consiste en encerrar el canvas en un Grid y programar el evento KeyDown en el Grid.
Si necesitas que sea el Canvas, y solo el Canvas, el que lance el evento visita este hilo para intentar solucionarlo:
Comento lo que a mi me sirvió programando en WPF C#.
“WPF: Objeto Canvas no responde a eventos del tipo KeyDown, KeyUp …” escrito y publicado originalmente en MagMeld
WPF: El control no lanza eventos
Puede ser que comiences a sufrir jaquecas si intentas programar un evento en un control y este no se lanza.
Por ejemplo, un canvas al que has programado el evento MouseLeftButtonUp pero por muchos clicks que haces no se ejecuta.
Solución: Tu control no tiene fondo ¿verdad?. Cualquier control sin un fondo, de valor null (el que está por defecto en muchos controles dependiendo del estilo), no responderá a ciertos eventos. Cambiar el valor “Background” a “Transparent”,por ejemplo, y funcionará.
Comento lo que a mi me sirvió programando en WPF C#.




deja un comentario