Tengo un mensaje que está dentro de un borde y se muestra delante de un área de cliente MDI. Como es solo un mensaje, configuro IsHitTestVisible
como falso. Para su comodidad, también incluí un botón dentro de él para que el usuario simplemente haga clic en el botón para comenzar un nuevo diagrama.¿Cómo se puede establecer IsHitTestVisible en True en un elemento secundario de algo donde se establece en falso?
Sin embargo, como el borde tiene su IsHitTestVisible
establecido en False
, corta el valor del botón True
para que el usuario no pueda hacer clic en el botón.
Dicho esto, ¿cómo puede hacer que un control sea invisible para el mouse, al tiempo que permite que uno de sus hijos reciba eventos del mouse?
Aquí hay una captura de pantalla:
Queremos que el área azul con el texto a ser invisibles prueba afectadas, pero queremos que el botón para seguir siendo capaz de ser presionado. ¿Pensamientos? (Y sí, ya sé de apilar los dos elementos en una cuadrícula, sino que se mete con el diseño.
Creo que tendrás más suerte averiguando cómo arreglar tu diseño usando un 'Grid' con dos controles apilados el uno del otro que el que encontrarás en la forma de establecer' IsHitTestVisible = true', pero permite las pruebas de golpe de todos modos un artículo infantil. ¿Qué tipo de diseño tienes? – Rachel
Puede anular HitTestCore ... para determinar el comportamiento de golpe con su UIElement (suponiendo que haya creado un UserControl) ...... pero, como dice Rachel ... use Grid o diferente diseño. –
Sí, ya tengo un control mucho más liviano llamado LayerPanel que simplemente apila elementos uno encima del otro. Corta todas las medidas y demás de la Grilla, que es notoriamente pobre en rendimiento. Aún así, odio tener que poner capas, porque cuando el texto cambia para la localización, empuja el diseño y ahora tienes que preocuparte de alinear algo en frente de algo que no está conectado. No es divertido. Factible, pero no divertido. – MarqueIV