Vanguarsoft Developers blog

Ing. Javier Leal – Coordinador de Requerimientos en Traetelo.com / Traiter Lourted – VENEZUELA


Deja un comentario

Uso de los Objetos Dictionary

dictionary-locals

Buenos Días tecnólogos hoy les traigo como usar los Diccionarios que son una herramienta muy útil para crear Código dinámico en tus aplicaciones, mucho de nosotros desarrolladores estamos acostumbrados a crear Entidades con sus propiedades para luego a estas entidades utilizarlas para Insertar, Mostrar Valores, Obtener Listas de dicho Objeto a partir de una consulta SQL y creamos tantas entidades como tablas tengamos para crear nuestro sistema lo que no permite que nuestro sistema sea Dinámico, no podemos reutilizar consultas ni adicionar campos por que implicaría una entidad nueva o una modificación fuerte de código.

Estas practicas ya muchos desarrolladores las han mejorado con herramientas de distintas formas y una de ellas muy útil es crear Diccionarios donde nuestras entidades estáticas pasan a ser Dinámicas ya todo depende de lo que incluye el diccionario de datos pero como podemos aplicar esta lógica?

Concepto por MSDN

Representa una colección de claves y valores.

Namespace: System.Collections.Generic

Primero que nada vamos a declarar una Variable de tipo Diccionario:

Se debe declarar de esta manera:

Dictionary<TKey, TValue> Nombre

Donde:

TKEY: Es el tipo de dato que utilizaras para el KEY puede ser un Entero, Una Cadena String que es lo mas Habitual pero en si esto puede ser lo que quieras.

TVALUE: es el tipo de datos del valor que va a estar ligado al Key Anterior puede ser de cualquier tipo normalmente es un Object así permitirá almacenar en este cualquier tipo de Objeto.

Nombre: Nombre de la variable para utilizarla en código.

Ejemplos:

Dictionary<string, Object>

Dictionary<int, string>

Dictionary<Object, Object>

Dictionary<string, string>

En nuestro caso Utilizaremos el mas habitual y que nos permita crear una Entidad Dinámica.

Dictionary<string, Object> DinamyObj = new Dictionary<string, Object>();

En esta modalidad puedes almacenar lo que sea en este objeto y sabrás donde esta cada cosa que adiciones dentro de ella a través de su Key.

Para Adicionar utiliza el Método Add que permite agrega la clave y el valor especificados al diccionario.

Ejemplo Adicionar la Fecha Actual,un valor Booleano Un string o entero:

DinamyObj.Add(“FechaActual”,DateTime.Now());

DinamyObj.Add(“Nombre”,”Javier Leal”);

DinamyObj.Add(“Edad”,25);

DinamyObj.Add(“Activo”,true);

Si puedes Adicionar Obviamente puede Eliminar Valores para ello en el Método Remove

DinamyObj.Remove(“Edad”);

O el Método Clear en caso de querer Eliminar todos los valores.

DinamyObj.Clear();

 

Además de esto hay Métodos donde puedes buscar verificar si un valor en especifico tales son los casos de los Métodos ContainsKey Determina si la colección Dictionary contiene la clave especificada y el ContainsValue Determina si la colección Dictionary contiene un valor específico.

Ejemplo:

DinamyObj.Containskey(“Apellido”); Devuelve: False

DinamyObj.ContainsValue(25); Devuelve: True

DinamyObj.Containskey(“Nombre”); Devuelve: True

DinamyObj.ContainsValue(False); Devuelve: False

 

A este tipo de objetos podemos hacerle un recorrido para conocer o listar todas sus claves o sus valores para acceder a esos valores

Ejemplo:

DinamyObj.Keys Devuelve: Un diccionario con los valores de las claves

DinamyObj.Values Devuelve: Un diccionario con los valores

 

Luego de que estos objetos ya están creados se puede editar y asignar de esta manera por ejemplo para cambiar el valor de edad seria:

DinamyObj[“Edad”] = 27;

y para escribirlo en un control por ejemplo en un texto seria

TXTEdad.Text = DinamyObj[“Edad”].ToString();

Cabe destacar que hacemos conversión de String debido a que el devuelve es un Object entonces si estamos por ejemplo devolviendo un valor Bool como es caso del valor Clave Activo a un control CheckBox seria

Check.IsChecked = Convert.ToBoolean(DinamyObj[“Edad”]);

A su vez también es importante para cuando estamos aplicando en Patrón MVVM en nuestros proyectos saben enlazar estos Objetos a través de enlaces Binding, Ejemplo asignando un valor a un Textbox y un check

<TextBox> Text="{Binding DinamyObj[Nombre], Mode=TwoWay}"/>

<CheckBox> IsChecked ="{Binding DinamyObj[Activo], Mode=TwoWay}"/>

Por ultimo estos objetos como todos podemos agregarlos a colecciones para tener listas de diccionarios que pueden ser enlazados de igual manera que que cualquier colección

List<Dictionary<string, Object>> ListDictionary

Espero que le saquen provecho a la información pueden buscar mas información por la Documentación Original.

http://msdn.microsoft.com/en-us/library/xfhwa508(v=vs.95).aspx

Anuncios


Deja un comentario

Dibujar Figuras en Canvas con el Mouse

Buen día amigos Internautas tiempo sin publicar artículos técnico, eh esta do trabajando en algunos proyectos y uno mismo al investigar y buscar se da cuenta donde hace falta documentar y donde hay suficiente información, por ello este articulo bastante sencillo pero muy útil si quieres crear una herramienta que dibuje figuras o cuando requieres resaltar una posición de una imagen y objeto.

Cada programador busca una funcionalidad especifica para utilizarla en cualquier tipo de funcionalidad.

Empezamos…

Primero que nada colocaremos un Canvas en nuestro proyecto, como muchos saben un canvas es un lienzo de posicionamiento absoluto que utiliza coordenadas X y Y para situar a los objetos que contiene dentro.

Primero que nada Dibuja un Canvas en tu App es importante que tenga un tamaño fijo y no que se autoajuste a ningún objeto, colocarle un color para poder Distinguirlo y si lo desea así como lo coloque yo un Cursor.

<Canvas  Width=”1000″ Height=”700″ x:Name=”LienzoClave” Background=”White” Cursor=”Stylus” />

A este objeto Canvas le crearemos 3 Eventos

MouseLeftButtonDown = Se ejecuta al presionar el Botón derecho sobre el objeto

MouseMove = Se ejecuta cuando el Mouse esta en Movimiento sobre el objeto

MouseLeftButtonUp = Cuanto se Suelta el botón derecho de mouse sobre el objeto

<Canvas Margin=”10″ Width=”1000″ Height=”700″ x:Name=”LienzoClave” Background=”White” MouseLeftButtonDown=”LienzoClave_MouseLeftButtonDown”  MouseLeftButtonUp=”LienzoClave_MouseLeftButtonUp” MouseMove=”LienzoClave_MouseMove” Cursor=”Stylus” />

Vamos ahora a programar cada uno de los eventos:

Declaramos una variable Global llamada Move de Tipo Bool, con su valor por defecto False, además de dos Mas de Tipo Double llamadas TopPosition y LeftPosition.

double topPosition;
double leftPosition;
bool Move = false;

private void LienzoClave_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
        LienzoClave.Children.Clear();

        Point point = e.GetPosition(LienzoClave);
topPosition = point.Y;
leftPosition = point.X;
Move = true;
}

En resumen lo que hace este código es limpiar el Canvas de todos los objetos que tenga dentro, luego capturar la posición del mouse en el canvas según sus coordenadas X y Y, Esas coordenadas las almacenamos en las Variables Globales TopPosition y LeftPosition

Teniendo Click sostenido vamos a comenzar a dibujar la figura. y es donde entra el juego el MouseMove para este evento declaramos 3 variables globales que utilizaremos WidthDesing, HeightDesing ambos de Tipo Double y rec de tipo Rectagle.

private void LienzoClave_MouseMove(object sender, MouseEventArgs e)
{
if (Move)
{
Point p = e.GetPosition(LienzoClave);
WidthDesing = p.X – leftPosition;
HeightDesing = p.Y – topPosition;
LienzoClave.Children.Clear();
if (WidthDesing < 0 || HeightDesing<0)
{ }
else
{

            rec = new Rectangle();
rec.Fill = new SolidColorBrush(Colors.Blue);

            rec.Width = Convert.ToInt32(WidthDesing);
rec.Height = Convert.ToInt32(HeightDesing);
Canvas.SetLeft(rec, leftPosition);
Canvas.SetTop(rec, topPosition);

            LienzoClave.Children.Add(rec);
}
}
}

 

 

Pueden ver en este Código se valida si el Valor Bool Move es Activo para que este código no se ejecute sin haber presionado el click, se captura de nuevo la posición del mouse, que a medida que mueve cambian las posiciones y se hace una resta entre las posiciones actuales menos el punto de partida eso resultaría dar el ancho y alto de lo que se esta dibujando y se almacenan en otras Variables Globales llamada WithDesing y HeightDesing.

Limpiamos el lienzo completamente, verificamos que los valores anteriores no sean menores de 0 por que daría error, Inicializamos el objeto rectángulo declarado a nivel global, se le coloca un color al rectángulo, Y se le asigna la posición que ocupara en el canvas y su ancho y alto y lo dibuja, esto se ejecutara mientras tengamos presionado click y se mueva el mouse en el objeto.

Finalmente el ultimo Evento para que nuestro objeto quede dibujado.

private void LienzoClave_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
Move = false;
}

Acá una imagen y espero sea útil pronto otros detalles no editar el objeto dibujado, obviamente tu eliges que dibujar.. un rectángulo hice yo en este caso pero hay muchas formas.

DIBUJARENCANVAS


3 comentarios

Uso de la Interfaz INotifyPropertyChanged y Compreder el uso de ViewModels – Silverlight

Hola amigos Internautas amantes de las tecnologías, En Silverlight una de las interfaces mas usadas es la INotifyPropertyChanged la cual se encarga de validar si una propiedad de la clase ViewModel de una pagina de Silverlight ha cambiado de valor y por lo tanto cuando esta cambia de valor esta se mostrara de manera automática a la Propiedad que le pases en Binding con el nombre de esa propiedad que puede ser del tipo que quieras un Bool, string, una colección de datos entre otras.

– Para comenzar en visual Studio 2010 vamos a crear un nuevo proyecto de Silverlight (Creo que ya esto lo sabemos hacer desde hace tiempo)

-Creamos una nueva Carpeta llamada ViewModels y dentro crearemos una nueva clase llamada PrincipalVM la cual tendrá implementada la interfaz ante descrita y crearemos un método  Publico llamado OnPropertyChanged con un parámetro de tipo string este método es el que disparara el evento de cambio según la propiedad que se le haya colocado como parámetro que será descrito en un simple dato de tipo String escrito tal cual. Ejemplo del código de la clase:

//HACER LA REFERENCIA A LA SIGUIENTE CLASE
using System.ComponentModel;

namespace DemoINotifyPropertyChanged.ViewModels
{
//IMPLEMENTAR LA INTERFAZ A LA CLASE
public class PrincipalVM : INotifyPropertyChanged
{
//CREAR VARIABLE DE TIPO EVENTO LA CUAL REPRESENTA EL EVENTO DE PROPIEDAD CAMBIANA
public event PropertyChangedEventHandler PropertyChanged;

        //METODO QUE RECIBE UNA PARAMETRO DE TIPO STRING
public  void OnPropertyChanged(string name)
{
//INICIALIZAR EL EVENTO DE PROPIEDAD CAMBIADA
PropertyChangedEventHandler handler = PropertyChanged;
//VERIFICAR SI EL EVENTO ES DIFERENTE DE NULO ES DECIR SI NO SE INICIALIZO EL EVENTO
if (handler != null)
{
//SI ES DIFERENTE DE NULO DISPARA EL EVENTO CON EL NOMBRE DE LA PROPIEDAD QUE SERA EL PARAMETRO STRING DEL METODO
handler(this, new PropertyChangedEventArgs(name));
}
}
}
}
Un vez que ya creamos nuestras clase ViewModel principal todas las paginas que hagas en Silverlight van a requerir de este método para poder disparar el evento de propiedad Cambiada aquí en esta clase puedes colocar otros métodos que necesites en todas las paginas por que la idea es Heredas los ViewModel de cada pagina a esta clase para usar en todas el métodos y no tener que repetir  el código en todas, es la razón por la cual se realizo en una clase aparte.
Por defecto Silverlight trae una pagina Home ya que es una plantilla vamos a crear el HomeViewModel que no es mas que otra clase, esta heredada de PrincioalVM y les haremos algunas propiedades para mostrarlas en pantalla en un texto Sencillo, Y unas de tipo Boolena para ver como pasar el Binding a través de XAML.
namespace DemoINotifyPropertyChanged.ViewModels
{
public class HomeViewModel : PrincipalVM
{
private string _texto;
public string texto
{            get
{                return _texto;
}            set
{                _texto = value;
OnPropertyChanged("texto");
}
}

private string _textoValor;
public string textoValor
{            get
{                return _textoValor;
}            set
{                _textoValor = value;
OnPropertyChanged("textoValor");
}
}

private Boolean _esActivo;
public Boolean
 esActivo
{            get
{                return _esActivo;
}            set
{                _esActivo = value;
OnPropertyChanged("esActivo");
}
}

    }
}
Ahora en el Sourse del codigo del Home asignaremos esta clase como en Contexto de la pagina Home asi casamos el ViewModel a la vista y se puede hacer de dos forma por código directo XAML, por código directo C shard o desde expression Blend asignandole  un nuevo Contex a la pagina.

Mostrare el primer método por código C shard:


//REFERENCIA AL NAMESPACE DONDE ESTAN TODOS LOS VIENMODELS
using DemoINotifyPropertyChanged.ViewModels;

namespace DemoINotifyPropertyChanged
{
public partial class Home: Page
{        //VARIABLE DE TIPO CLASE DEL VIEMMODEL CORRESPONDIENTE A ESTA PAGINA
HomeViewModel Models;
public MainPage()
{            InitializeComponent();
//Inicializa la clase ViemModel de la vista
Models = new HomeViewModel();
//Asignar el DataConext a esta pagina
this.DataContext = Models;

        }
}
}

Mostrare el Método desde Expression Blend y Mostrar como Quedaría el XAML

image

image

Código XAML Estableciendo el Conext de la pagina:

Como estoy usando una plantilla de Silverlight este XAML ya tiene unas cosas estructuradas de diseño

image

Esto permitirá ya hacer algunos Binding a mi pagina que apunten a las propiedades del ViewModel Asignado como contexto,

Como ejemplo en Pantalla se colocara 1 TextBox, 2 TextBlog y 1 CheckBox

La demostracion sera Asiganle el Bindin de la propiedad Texto a un textBlog y al Textbox con la diferencia que el Textbox tendra el Bindin en Mode Toway ASI el vamor cambiado sera tomado por la propiedad al momento de tabular o salir del TextBox estas trabajaran con la propiedad Text, para el CheckBox trabajaremos asignandole el  Binding a la propiedad IsChecked que es un Booleano por lo tanto se le asignara la propiedad booleana esactivo y haremos cambiar el textovalor para que el textbock faltante nos indique si ha cambiado un ejemplo sencillo peor que muestra como usar la interfaz, las propiedades segun sus diferentes tipos de datos y los Binding:

  • ASIGNACION MANUAL DE EL Binding al primer TextBox que recibe Texto y cambiara con twoway.

image

Ahora explicaremos como asociar la propiedad por Expression Blend para ellos requere que el Contexto de la pagina sea asociado antes directo desde Blend lo tienes asociado en codigo y por XAML no hay ningun problema.

image

Presionas sobre el pequeño punto al lado de la propiedad que deseas Bindiar.

image

Eliges la opción Enlace a datos:

image

Si tienes bien asignado el conexto veras todas las propiedades que estan en el viewModel que estas asociando elijes la que deseas y presionas Aceptar, puedes ver que resalte algo de azul en estas opciones puedes ver como asignarte el TwoWay y otras opciones aparecera siempre que se puede en el caso de un Texblock no esta permitido ya que no puede editar texto en un Texblock.

image

Como puedes ver en todos los controlas y en todas sus propiedades puedes hacer esto solo debes estar seguro que la propiedad es del tipo correspondiente al que exije la propiedad.. Si lo haces directo desde Blend este te indica cuales propiedades puedes casar a una propiedad de una control en este caso es un booleano y solo te dejara asociar un Booleano.

image

Al otro Texblock le asignaremos texto Valor y modificaremos el set y get del esactivo para determinar si ha cambiado o no.

el cambio seria el siguiente en la propiedad esActivo:

private Boolean _esActivo = true;
public Boolean esActivo
{
get
{        return _esActivo;
}
set
{        _esActivo = value;
if (value == true)
{
textoValor = "Es true";

        } else
{
textoValor = "Es False";
}        OnPropertyChanged("esActivo");
}
}
Y probamos es un demos realmente sencillo pero ayuda bastante a comprender la interfaz y como trabajar con un ViewModel que se aplica a las mejores practicas de desarrollo bajo Silverlight.

Hay que tomar en cuenta que a cualquier propiedad que tu deseas tu le puedes aplicar un Binding lo que debes cuidar es que siempre la propiedad que se le este pasando concuerden los datos puede ser una colección de datos que llene un GrigView o Un combo y si usas una entidad de datos puedes personalizar el template para decidir que datos de la colección mostrar.

Resultado sencillo:

image

Pronto les coloco el código espero que les guste


3 comentarios

General Archivo Setup en visual Studio 2008

Muchos quiza se haras esta pregunta, sobretodos los que vamos comenzando con el desarrollo de aplicaciones por tanto ahora mostraremos los pasos para realizarlo:

PASO 1

Lo primero que hacemos es Abrir visual Studio y buscar el proyecto que estamos desarrollando o que para este caso si lo vamos a empaquetar es que ya debe estar listo por tanto buscaremos un proyecto que ya esta desarrollado.

PASO 2

Una vez que ya cargue el proyecto vamos al menu proyecto y vamos hasta el final donde dice Propiedades de “Nombre de su proyecto”

PASO 3

Una vez que estemos dentro de las propiedades podemos investigar un poco acerca que esto hay algunas cosas interesantes que quiza puedan ser de interes ara la evlolucion y desarrollo de tu aplicacion, pero si vamos al punto se debe elegir la ultima pestaña de las que se encuentra la cual dice “Publicar”

PASO 4

Una vez que estamos en esta opcion odemos presionar sobre donde dice Publicar Ahora” o si queremos usar el asistente tambien es valido ya una vez que se completa el asistente o el publicado de la aplicacion nos vamos a su carpeta de destino.

La carpeta puede estar en cualquier lugar como un archivo de word y se puede abrir de cualquier lado asi que debes saber que esta es una carpeta que adentro contiene otra parpeta de todo lo que conforma la aplicacion y la solucion para abrir el proyecto.

Dentro de la carpeta de los elementos del proyecto se encontrara ahora una carpeta llamada: publish

la carpeta contiene el archivo setup genedo como lo ven en la siguiente imagen:

Ojo mires la ruta donde estaba el setup en mi caso estaba en la carpeta de mis documnetos —> expression—> blend 3 ya que la aplicacion se creo hay en su caso deben buscar donde lo guardaron, si es visual studio 2008 por defecto se encuentra en Mis documento –> Visual Studio 2008 –> Projetc

Ya con esto puedes instalar la aplicacion como un programa normal en tu pc, BYE


2 comentarios

Navegar entre pantallas en proyectos de Expression

A veces muchos desarrolladores nos encontramos con el problema de que tenemos tiempo desarrollando en visual basic.net, hay un momento que conocen Expression y se animan a trabajar en el debido a sus sorprendentes diseños, (soy uno de los que lo vi y lo uso al momento) pero resulta que luego de hacer algunas pantallas en Expression es necesario navegar entre las diferentes pantallas que hicimos y solo eso se puede hacer en VISUAL STUDIO or tanto no colocamos en el proyecto, exactamente en el achivo de la solucion en expression blend y presionar click derecho luego seleccionando Editar en Visual Studio.

Mi proyecto de llama  siscom empresas mixtas occidente ya una vez que seleccionamos la acción nos vamos a visual Studio Recomendado para trabajar estas aplicaciones VISUAL STUDIO 2008

Los que ya han trabajado con expression blend sabemos que el nos permite colocar textbox, botones a los diseños de pantallas, dichos botones sean manejados igualmente como botones en visual studio

Una vez que ya estamos en Visual Studio de abre la pantalla del boton que desemos sea el encargado de asar de una pantalla a otra para este ejemplo tomaremos como ejemplo 2 pantallas llamadas:

WINDOWS1

WINDOWS2

Cabe destacar que en el caso del proyecto que realice fue una imagen que luego de tranformo en boton para que haga las funciones respectivas, para proseguir en el boton de la pantalla windows 1 que quieras que se pase a la windows 2 le vas a dar dos veces click y aparecera el cogido visual basic (Ojo el proyecto en expression se puede hacer en Visual Basic o en C# al crear el proyecto este te pregunta cual vas a usar) En este caso manejandolo con visual basic.

el codigo en el siguiente utilizando dos variable que se puede llamar como ustedes quieran les colocare en este caso “var”:

dim  var as new windows2()

var.show()

Explicacion: se declara una variable que hara una instancia a una clase que es el formulario a donde vamos Porque? Bueno trabajando desde la misma clase no nos lo permite mientras que haciendo una instancia se hace un cast a la clase la cual trae todas las propiedades propias de un formulario windows. y hay es donde podemos jugar con los codigos para mostar, ocultar o cerrar:

var.show() (mostrar)

var.hide() (ocultar)

var.close (cerrar)

Y aqui hice algo a proposito por si les llega a ocurrir agrege una imagen en expression si nostros vamos a visual studio y presionamos dos veces click sobre un boton, el automaticamente va hasta el evento MOUSECLICK cuando presionamos click sobre el boton. en mi caso agrege una imagen y no la converti en boton como pueden ver en la imagen tengo una flecha para avanzar y otra para retroceder.

al presiona dos veces click aparecera otro evento llamado: ImageFailed pero este que en un metodo de esa imageen se puede cambie justo arriba del codigo este se puede cambiar a MOUSEDOW este si es cuando rpesionamos click derecjo (ojo en imagne no hay mouseclick) lo podemos ver en la siguiente imagen:

En la imagen pueden ver el resultado del codigo muy simple


1 comentario

Silverlight 3 Release

Hola amigos cibernautas amantes de la tecnologia e inmersos en el mundo del desarrollo y diseño de aplicaciones hace poco me llego un comentario con algunas dudas y de una vez comence mi investigacion primero que nava a saber que es Silverlight

SL3BetaPromo

¿QUE ES SILVERLIGHT?

Es una cruz-navegador, multi-plataformas y complementos del navegador del dispositivo en el que ayuda a las empresas diseñar, desarrollar y entregar aplicaciones y experiencias en la Web. Una descarga gratuita que se instala en segundos, Silverlight permite a una nueva clase de ricos de la Cruz, segura y escalable plataforma de experiencias.

Alguna de las nuevas caracteristicas que se pueden ver en este actualmente con respecto a versiones anteriores conllevan a la muchos desarrolladores a investigar y aprender sobre esta interesante herramienta estas son algunas de las nuevas caracteristicas:

HD Media

Silverlight 3 soporta desde ahora aceleración gráfica por hardware – permitiendo que la composición de video y gráficos sean cargables en la GPU. Esto disminuye dramáticamente el uso de la CPU del ordenador, y permite que máquinas antiguas puedan reproducir video HD. Podemos proporcionar experiencias de visualización de 1080 p en la web.

IIS Media Services es un producto de servidor gratuito que complementa a Silverlight y nos da la habilidad de hacer streaming eficiente por HTTP. Permite tanto video HD bajo demanda como en vivo usando el “smooth streaming” – que es un algoritmo de streamming adaptativo que permite optimizar el bitrate de los videos dependiendo de la conexión del cliente y de las capacidades de su CPU. Mirad esta demo para ver el smooth streamming en acción con Silverlight.

Gráficos Inmersivos

Las nuevas capacidades de aceleraciónd e GPU de Silverlight 3 nos permiten experiencias aún más ricas de inmersión de gráficos.

Silverlight 3 añade un nuevo soporte para perspectvias 3D que se pueden usar en elementos gráficos, videos y controles. Silverlight 3 también incluye nuevas apis para bitmaps y pixels, así como la habilidad de crear y aplicar efectos pixel shader (como: blur, dropshadow, swirl, etc) en una imagen, elemento de video, o un control.

Soporte fuera del navegador

Silverlight 3 permite que las aplicaciones puedan ejecutarse fuera del navegador. Los usuarios pueden instalar aplicaciones web en sus máquinas, y crear accesos directos a ellas en el escritorio, el menú inicio y en la barra de tareas (que está soportado tanto en Windows como en Mac).

Desarrollo de aplicaciones.

Silverlight 3 incluye un montón de nuevas características de desarrollo.

El SDK de Silverlight 3 junto el Silverlight Toolkit incluye alrededor de 100 controles de UI que permiten los escenarios comunes (layout, datos, charting, child windows, etc) además de las posibilidades de personalizar su estilo y las plantillas.

Silverlight 3 ofrece características de data binding mucho más ricas. Soporte de binding elemento a elemento entre controles. Se ha añadido el soporte para validación de errores en los controles (permitiendo mostrar mensajes de error mucho mejor). El DataGrid soporta data binding jerárquico. Un nuevo control DataForm que permite escenarios Master/Detail mucho mejores. Silverlight 3 también soporta el SaveFileDialog.

Herramientas de Visual Studio 2008 para Silverlight 3

Hoy también publicamos una descarga gratuita que permite el desarrollo para Silverlight 3 con VS 2008 y Visual Web Developer 2008 express (que es gratuito). Esta descarga soporta la creación de proyectos, intellisense, complicación y depuración de aplicaciones Silverlight 3. La próxima releas de Visual Studio – VS 2010 – añadirá esta característica para obtener un diseñador WYSIWYG para Silverlight (incluyendo soporte de databinding en el diseñador).

Aquí os podéis descargar VS 2008 Tools for Silverlight (esto también instalará el SL3 developer runtime + sdk). Aquí podéis descargar el Silverlight Toolkit (que añade más controles).

Esta es una parte muy interesante hay controles ya prediseñados para trabajar con Silverligth y puedes desarrollar puedes descargar y tener vista previa de las herramientas accediendo a la pagina (presiona sobre la imagen)

Silverlight-Toolkit

Ok justo aca queria llegar ya que una de las preguntas que realizo uno de los visitantes de mi blog por que solo tenia Visual Studio en su maquina y Queria desarrollar aplicacion WPF de tipo Web y VS no lo tiene si no para trabajar para aplicaciones Windows Esta seria una buena respuesta para el y muchos que tengan la misma duda hay aqui dos opciones trabajar con el VS 2008 Tools for Silverlight o trabajar con Expression Blend 3

tools sl in vs

Expression Studio 3

Hoy también publicamos la Release Candidate (RC) de Expression Blend 3 (incluyendo Sketchflow) que permite una  edición de aplicaciones y proyectos Silverlight 3 mucho más rica.

Podéis descargar Expression Blend 3 y Sketchflow RC aquí.

Hace poco realice una publicacion sobre expresion studio 3 lo pueden ver aqui:

https://javierleal.wordpress.com/2009/09/07/expression-studio-3/


Deja un comentario

Silverlight 2

El pasado Septiembre se publico Silverlight 1.0 para Mac y Windows, y se anunciaron algunos planes para Silverlight en Linux. Silverlight 1.0 se centraba en permitir escenarios multimedia ricos, y soportar el modelo de programación de  JavaScript/AJAX.

Ya se ha publicado Silverlight 2, que será una gran actualización de Silverlight que se centra en el desarrollo de RIA (Rich Interntet Applicaciones, Aplicaciones Ricas en Internet). que ayuda al Desarrollo en .NET Multiplataforma y Multinavegador.

Silverlight 2 incluye un .NET Framework multiplataforma y multinavegador que nos permite una plataforma de desarrollo para .NET que se ejecuta en el navegador. Podemos desarrollar aplicaciones Silverlight en cualquier lenguaje de .NET (como VB, C#, Javascript, IronPython y IronRuby). Publicaremos una herramienta de soporte en VS 2008 y Expression Studio que permita  a los programadores y diseñadores gráficos integrarse de manera sencilla a la hora de crear aplicaciones Silverlight.