Publicado el Dejar un comentario

Ignorar eventos en un control de Silverlight

Si se tienen dos controles silverlight, uno sobre otro, y se desea que el control que está más arriba ignore ciertos eventos del mouse y que éstos sean enviados al control de más abajo, es necesario agregar la propiedad IsHitTestVisible y asignarle el valor false en el XAML al control que se desea que ignore dichos eventos. Por ejemplo, si tenemos un multiscaleimage y encima de el un control img y queremos que la imagen ignore los eventos y sean pasados al multiscaleimage, hay que hacer lo siguiente:

    <grid name=”grdContenedor” width=”auto” height=”auto”>
        <multiscaleimage name=”Foto” horizontalalignment=”Left” viewportwidth=”1″ height=”1100″ width=”800″ verticalalignment=”Top” mousewheel=”Foto_MouseWheel” mouseleftbuttondown=”Foto_MouseLeftButtonDown” mouseleftbuttonup=”Foto_MouseLeftButtonUp” mousemove=”Foto_MouseMove” cachemode=”BitmapCache” viewportchanged=”Foto_ViewportChanged” motionfinished=”Foto_MotionFinished” blurfactor=”0.1″>
        <img name=”Shape” ishittestvisible=”False” />
    </multiscaleimage></grid>

En el ejemplo anterior la imagen Shape ignorará loe eventos del ratón y los recibirá directamente el multiscaleimage Foto.

Deja un comentario