Vanguarsoft Developers blog

Ing. Javier Leal -Desarrollador CPANAX C.A / Microsoft Student Partners – VENEZUELA

LLamar Funciones de JavaScrip desde Silverlight

Deja un comentario

imageimageBuenos dias, A veces nos hemos topado que queremos interactuar desde nuestras aplicaciones de Silverlight con el Sitio Web que hace la instancia para llamar el aplicativo y bueno en este momento les mostrare cual es la forma apropiada para poder lograr llamar funciones de Java Scrips desde codigo de Silverlight.

1. -Iniciamos creando un nuevo proyecto Silverlight que como sabemos tambien nos crea un sitio web para la instancia del mismo.

Para lograr esta interaccion .net nos ofrece la Clase HtmlPage invocando el namespace System.Windows.Browser, la mismo con las que les explique como buscar informacion del navegador y Plataforma en la que esta corriendo la aplicacion web en el navegador.

Puedes llamar tanto funciones creadas por ti mismo como funciones ya existentes en este caso llamaremos una funcion existente de javaScrips como Alert y Confirm que me permite mostrar un mensaje al estilo Mensaje Box solo mostrando mensaje o pidiendo confirmacion.

2.- Se construira una interfaz realmente sencilla que con Cuatro botones uno que llame a confirm y otro al alert, En cada boton colocamos el siguiente codigo. Los Otros Dos Ya indicaremos para que lo Utilizaremos.

Para el Boton de Alert

HtmlPage.Window.Alert("Alert de Java Scrips!");

Para el Boton de Confirm

bool Isok = HtmlPage.Window.Confirm("¿Estas seguro de Ejecutar esta Funcion?");

Puedes Probar los dos primeros Botones y deben funcionar perfectamente,

imageimage

3.- Incluso podemos con esta clase navegar hacia otra pagina web. En el tercer Boton Colocamos este codigo.

HtmlPage.Window.Navigate(new Uri(http://www.jleal.net));

Con esto Simplemete saldra de la aplicacion de Silverlight en la Web y  mostrara la pagina que estas llamando parandole en Uri de la pagina.

4.- Por ultimo Volviendo al tema de las funciones en JavaScrips es algo mas ciuando necesitamos llamar una funcion que de repente nosotros mismo construyemos y requerimos de utilizarlo desde Silverlight pasandole n numero de parametros para esto Utilizaremos el mismo Alert tomando en cuenta que esta funcion solo requiere un parametro pero en el ultimo boton del ejemplo colocaremos el siguiente Codigo.

HtmlPage.Window.Invoke("alert", "Funcion Personalizada!");

Como pueden ver el primer parametro de este metodo llama Invoke es el nombre de la funcion de javaScrips que nosotros queramos incluso las que hemos creado personalmente Alert por ser una funcion estandar en .net la agregaron dentro de la los metodos pero onviamente las que creamos nosotros mismo no apareceran y debemos llamarlas a travez del metodo Invoke, como segundo parametro es un arreglo de Objetos de tipo String en caso de que la funcion tenga tres parametros los tomara en el mismo orden que se los colocamos.

Un ejemplo si creamos una Funcion ObjetenerEdad de Java Scrips y requiere tres parametros de Dia mes y Año todos se los pasamos en String y el codigo seria de esta forma y por defecto en Invoke devuelve un Object que podemos convertirlo en cualquier tipo de .Net siempre que cumpla con el formato especifico.

Objet Edad =.HtmlPage.Window.Invoke("ObjetenerEdad ", dia,mes,anio);

String Edad = Edad as Sring;

Espero que les Sirva pronto coloca lo posterior llamar metodo de Silverlight desde JavaScrips.

Autor: Ing. Javier J. Leal H.

Desarrollador en CPANAX C.A, Microsoft Student Partners de Venezuela Amantes de nuevas Tecnologías Desarrollador es Silverlight 5, Windows 8, Windows Phone, Influenciador y Orador en Actividades Tecnológicas Microsoft

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s