Archive for 21 mayo 2012

Attached behavior no detecta ciertos eventos

21 mayo 2012

Problema: He creado un attached behavior, y al usarlo para que maneje algunos eventos, como por ejemplo MouseDown, no parece que pase nada, el evento no parece ser detectado por el codigo del behavior

Solucion: Esto suele ser debido a que controles de usuario como MenuItem atrapan en evento y no dejan que se propage (handled = true). Para evitar esto podemos usar los eventos Preview-*, por ejemplo, en este caso hariamos que el behavior respondiera ante el evento PreviewMouseDown, en vez del evento MouseDown

Anuncios

Obtener la ventana a la que pertenece un control de WPF

9 mayo 2012

Problema: Uno un poco tonto. Como puedo obtener la ventana a la que pertenece un control en WPF, a partir del propio control?

Solucion: Desde codigo se podria hacer con esta sencilla instruccion:

window = Window.GetWindow(obj);

Donde obj es el objeto del que queremos obtener su ventana. Solo quedaria chequear previamente si el objeto es ya uno de tipo Window, en cuyo caso obviamente bastaria con devolver el propio objeto.