Creando un Gadget para Vista con Silverlight

Ya sabemos que los Gadget para Windows Vista son relativamente sencillos de crear, de hecho puedes descargar un video como desarrollar uno acá. Ahora bien, si construir un Gadget es similar a crear una página web, entonces, por que no, probar con Silverlight, de manera de poder integrar XAML al Escritorio.


El primer paso es construir en Expression Blend el diseño, con las dimensiones  alto:130px y ancho: 130px. (Tamaño aceptable en el sidebar). Vamos a ocupar un fondo con cierto degradado y además vamos a utilizar un png.


Luego, vamos a crear una animación , simplemente girar y aumenta el tamaño del png, para cuando el usuario coloca el cursor del mouse sobre el gadget, y otra animación, reversando para volver al estado original.



Recuerda, para que te sea más fácil, seleccionar la opción “Duplicate”  y luego aplicar “Reverse”.


image


Con esto tenemos dos animaciones una que se llama “on” y otra que se llama “off” las que serán invocadas desde javascript del archivo Default.html (Recuerda que tienes que setear el archivo gadget.xml para que sea el cuerpo de gadget)


            <base type=HTML src=Default.html />


Y las funciones de Javascript para llamar a las animaciones son:

<script language=”jscript”>

function on(sender, args) {
    sender.findName(“on”).begin();
}
function off(sender, args) {
    sender.findName(“off”).begin();
}
</script>


y las llamadas a estas funciones en el archivo XAML:

<Canvas
      xmlns=http://schemas.microsoft.com/client/2007
      xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
      Width=130 Height=130 x:Name=Page MouseEnter=on  MouseLeave=off mlns: Microsoft_Expression_DesignModel_Platform = clr-namespace: Microsoft. Expression. DesignModel. Platform; assembly= Microsoft.Expression.DesignModel>

Nuestra carpeta, que sería :
C:Program FilesWindows SidebarGadgetsBatterySL.Gadget
Debería ser algo así:


image


Luego, abrimos la ventana para agregar nuevo gadget. y lo arrastramos a nuestro Sidebar









 
image image

Si apretamos botón derecho sobre el gadget veremos el mensaje:


image


El gadget que construí no puede ser más inútil, a no ser que te guste ver girar imágenes, pero es para mostrarte como lo puedes construir.


Te dejo el gadget para que lo descargues desde acá, recuerda que para ver los archivos sin instalarlo puedes cambiar la extensión del gadget de “.Gadget” a “.zip”.

[Tips]Exportar GridView a Excel (Sin Paginación) …al fin

    El cambio de esto en relación a un post pasado que lo puedes ver acá, es que se instancia un nuevo objeto gridview, el cual puedes customizar a tu gusto, de esta manera no dependes de la paginación seteada de la grilla original :),  como en el siguiente ejemplo, podemos dejar Visible=False una columna.

Nota: LoadData2() es un método que devuelve un DataTable.

        Dim sb As StringBuilder = New StringBuilder()
        Dim sw As StringWriter = New StringWriter(sb)
        Dim htw As HtmlTextWriter = New HtmlTextWriter(sw)
        Dim pagina As Page = New Page
       
Dim grilla As New GridView
       
grilla.EnableViewState = False
       
grilla.AllowPaging = False
        grilla.DataSource = LoadData2()
        grilla.DataBind()
        ‘grilla.Columns(0).Visible = False
 
       Dim form = New HtmlForm
        pagina.EnableEventValidation = False
       
pagina.DesignerInitialize()
       
pagina.Controls.Add(form)
        form.Controls.Add(grilla)
        pagina.RenderControl(htw)
        Response.Clear()
        Response.Buffer = True
        Response.ContentType = “application/vnd.ms-excel”
        Response.AddHeader(“Content-Disposition”, “attachment;filename=data.xls”)
        Response.Charset = “UTF-8”
        Response.ContentEncoding = Encoding.Default
        Response.Write(sb.ToString())
        Response.End()

Espero que les sea útil, ya que varias personas me habían solicitado esta info, disculpen la demora!

Saludos,
Gonzalo