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.

Publicado el Dejar un comentario

Silverlight no conecta al los Web Services (servicios web).

Muy probablemente se deba a problemas de seguridad del Web Service. Silverlight por default sólo puede conectarse a la misma ruta URL de donde se descargó.
Para permitir que Silverlight se conecte a otro dominio o URL, es necesario especificar en el servidor web en donde se encuentran los web services a los que se quiere conectar, que permita este tipo de conexión. Esto se logra colocando en el IIS un archivo llamado clientaccesspolicy.xml.
Visita esta página para mayor información de cómo crear este archivo y sus parámetros. Espero te sea de ayuda.