July 2009 - Artículos - Blog de Oskar Alvarez

July 2009 - Artículos

Editando Datos en un DataTemplate

En el anterior post vimos como cambiar el DataTemplate dinámicamente, en este vamos a ver como podemos hacer que el usuario pueda editar datos y modificarlos. Siguiendo con la aplicación de ejemplo imaginar que le ponemos un campo de rating de la persona y que el usuario pueda cambiar este rating, pulsando a un botón de editar.   De manera que cuando pulsemos editar podamos cambiar el Rating de la persona. El control de rating es muy sencillo, crearemos un control de usuario cuyo xaml seran...
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en:

Cambiar el DataTemplate de un ListBox con DataTrigger

En el anterior post Sergi se dio cuenta que era mejor realizar el cambio del DataTemplate a través de un DataTrigger, en el anterior el cambio del DataTemplate en el ListBox se realizaba a través del evento SelectionChanged y la propiedad ItemTemplateSelector había un problema que detecto Julio y es que se producía un comportamiento raro con las teclas de subir y bajar, realmente no funcionaba bien. Ele ejemplo lo puse porque cuando vienes del desarrollo tradicional lo primero que piensas es en hacer...
Publicado por Oskar Alvarez | 4 comment(s)
Archivado en:

Cambiar el Template del item seleccionado en una lista de WPF

Otra de las preguntas recurrentes de la gente es en la listas, combox, items control como cambiar el aspecto de la información que se muestra cuando el usuario selecciona una fila. Esto es muy sencillo de realizar en WPF. Para hacer esto lo primero que intenta la gente es subscribirse al evento SelectionChanged de la lista y cambiar un diferente DataTemplate, pero esto no funciona ya que cambia a toda la lista. Para realizar esto debemos basarnos en la clase System.Windows.Controls.DataTemplateSelector...
Publicado por Oskar Alvarez | 7 comment(s)
Archivado en:

DataTemplates en WPF

Los DataTemplates en WPF nos van a permitir definir uListViewna plantilla para una clase de datos, es decir como vamos a mostrar visualmente al usuario. Generalmente se suelen utilizar en los controles de listas como son ItemsControl, ListBox, ListView… Si no utilizamos nuestro propio DataTemplate en estos controles el tiene por defecto como DataTemplate un TextBlock. Si enlazamos un objeto complejo como Persona llamará a ToString() de esta clase y lo enlazara al TetBloxk por defecto, mostrandonos...
Publicado por Oskar Alvarez | 4 comment(s)
Archivado en:

Primera aplicación en Gestalt

El otro día Eugenio nos presento Gestalt Beta, azúcar para la web una nueva herramienta en beta que te permite escribir código Ruby, Python y XAML en tus páginas (X)HTML. hoy me encuentro que Karsten Januszewski ha escrito un post write up on his XAML Playground en el que nos muestra una aplicación para diseñar escrita en silverligth utilizando Gestalt     En channel9 tenéis un video de la explicación del proyecto http://channel9.msdn.com/posts/ContinuumNews/XAML-Playground-A-Designer-built...
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en:

Evento DoubleClick en WPF

Una pregunta de los foros preguntaba porque no podía coger el evento DoubleClick en WPF en un objeto TextBox. La razón es que en Winforms todos los controles que derivaban de  System.Windows.Forms.Control tenían el evento DoubleClick y en WPF los elementos que derivan de System.Windows.Controls.Control también lo tienen, pero no todos los controles en WPF derivan de esta clase y TextBlock es uno de ellos y no tiene el evento DoubleClick. Para solucionar esto utilizamos un pequeño truco, en nuestro...
Publicado por Oskar Alvarez | 5 comment(s)
Archivado en:

Multithreading en WPF: BackgroundWorker y como comunicarse con la Interfaz de Usuario

Muchas veces en nuestras aplicaciones necesitamos realizar tareas largas que deben ser ejecutados en un thread separado, pero al mismo tiempo mostrar al usuario una barra de progreso o cualquier tipo de notificación para que el usuario sienta que la aplicación no ha dejado de funcionar sino que esta ejecutando una tarea larga y que además puede abortar esa tarea. Para ello utilizaremos la clase BackgroundWorker, La clase BackgroundWorker permite ejecutar una operación en un subproceso dedicado e...
Publicado por Oskar Alvarez | 3 comment(s)
Archivado en:

Validation Rules en WPF

Siguiendo con el DataBinding de WPF vamos ha hablar de ValidationRules.Una regla de validación es una porción de código usada para validar un dato en el target, antes de que se actualice el source, es decir se utiliza para que se realice la validación en la Interfaz de Usuario antes de que se modifique el source (por ejemplo una propiedad enlazada), pero mejor vamos a verlo con ejemplos El código de validación es realizado en una clase que extiende ValidationRule, haciendo un override del método...
Publicado por Oskar Alvarez | 8 comment(s)
Archivado en:

Wikipedia en WPF

Dot Net Solutions junto con Monochrome y platform evangelism team de Redmond han lanzado Wikipedia Explorer una aplicación realizada en WPF que nos presenta otra forma de ver la Wikipedia creando una nueva experiencia al usuario. Cada vez me gustan mas estas aplicaciones de WPF que nos permiten utilizar datos de la nube y visualizarlos de forma tan espectacular que con una aplicación web seria imposible. Aquí tenéis unos pantallazos y podéis instalarla desde aquí  
Publicado por Oskar Alvarez | 3 comment(s)
Archivado en: ,

Debugeando los Binding de WPF

Cuando desarrollamos en WPF, los binding son indispensables y a veces tenemos problemas con ellos que no somos capaces de detectar y deseamos con todo el alma poder poner un breakpoint y tener la posibilidad de debugear con todas las herramientas que nos da Visual Studio. Pero esto no es posible y para poder ver los errores de binding y poderlos analizar tenemos diferentes alternativas Output window En la ventana Output de Visual Studio donde se displayan todos los mensajes, cuando se produce un...
Publicado por Oskar Alvarez | 4 comment(s)
Archivado en:

30 grandes post y tutoriales de Silverlight 3 y Blend 3

AdamKinney , nos ha puesto un post con los 30 mejores posts de Silverlight y Blend 3, aqui os dejo el post Silverlight Silverlight 3 New Features list – Scott Guthries’s Announcement , Tim Heuer’s Developer view , Jesse Liberty’s Feature Wiki Silverlight Controls Sample App – demonstrates each new control in action Cached Assemblies – Tim Heuer explains how to share URLs for assemblies Silverlight 3 Navigation – David Poll explains how to use the Navigation...
Publicado por Oskar Alvarez | 8 comment(s)
Archivado en: ,

IValueConverter una Interfaz muy util en el DataBinding de WPF

En los anteriores posts hemos visto como realizar el DataBinding en WPF, pero nos hemos centrado en los datos y algunas veces no nos valen el dato tal y como esta en la clase que enlazamos sino que requiere una transformación, con esta interfaz lo vamos a poder realizar. La interfaz contiene dos métodos: Convert: es llamada cuando se hace la conversión de datos desde la fuente hacia los componentes de UI (Int32 a Brush) ConvertBack: ConvertBack es llamado cuando se convierte desde la UI a la fuente...
Publicado por Oskar Alvarez | 5 comment(s)

Diferencias entre aplicaciones WPF cliente y XBAP

Muchas veces me preguntan las diferencias que hay entre el clásico ejecutable que generamos con WPF y que instalamos en el cliente y el concepto de XBAP que es una aplicación WPF también pero que es ejecutada a través del Navegador. Aunque los dos tipos de aplicaciones son hechas con WPF a la hora de diseñar la aplicación hay que tener muy claro si se va a elegir un modelo u otro. Asi como el tipico ejecutable de WPF se instala como siempre en el cliente (xcopy, click-once) y con seguridad por defecto...
Publicado por Oskar Alvarez | 5 comment(s)
Archivado en:

Crear el efecto de espejo en Expression Blend

Hola, me lo han preguntado varias veces como realizar ese “efecto chulo de reflejo en las imágenes”, no es nada difícil crearlo así que voy a explicarlo paso a paso. 1. Abrimos Expression Blend y creamos un nuevo proyecto WPF. Debajo de Objects and Timeline observais que tenemos un objeto Grid llamado LayoutRoot . lo seleccionamos y le cambiamos el color de fondo a negro   2. Vamos a Assets Library y seleccionamos el control StackPanel, lo arrastramos dentro del control LayoutRoot, y le damos...
Publicado por Oskar Alvarez | 7 comment(s)
Archivado en: ,

MultiBinding en WPF

Vamos a fijarnos en  el post anterior sobre como enlazar enumeraciones a un ComboBox, si recordáis poníamos el Nombre, primer Apellido y Segundo Apellido en la lista de tres TextBox agrupados en un StackPanel     Esto no es lo mejor, lo bueno sería enlazar las tres propiedades a un solo TextBox, para ello utilizaremos el MultiBinding de WPF. La clase MultiBinding describe una colección de objetos Binding asociados a una sola propiedad de destino de enlace. MultiBinding permite enlazar...
Publicado por Oskar Alvarez | 3 comment(s)
Archivado en:

NibblesTutorials: Tutoriales de SketFlow y Ejemplos de SilverLight

ºCelso Gomes, ha modificado su pagina realizándolo todo en SilverLight, además de poner unos buenos ejemplos y tutoriales de SilverLight y SketchFlow, merece la pena echarle un vistazo, ver los ejemplos y tutoriales.   http://nibblestutorials.net/  
Publicado por Oskar Alvarez | 1 comment(s)
Archivado en:

Haciendo Bindings de Enumeraciones en WPF

Una pregunta muy recurrente cuando explico el Binding es como hacer Binding de Enums a un ComboBox, en este post voy a explicarlo mediante un ejemplo, imaginemos que tenemos la enumeración public enum Deporte { Futbol, Baloncesto, Atletismo, Balonmano, Golf } Donde indicamos el tipo de deporte que practicamos, aquí tenéis la clase Persona public class Persona : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(String info) { if ...
Publicado por Oskar Alvarez | 6 comment(s)
Archivado en:

Primer Libro de SketchFlow

La tecnología salió este viernes y ya tenemos el primer libro Dynamic Prototyping with SketchFlow in Expression Blend , todavía no esta escrito pero tenemos a nuestra disposición y gratis el primer capitulo de 100 paginas muy completo para iniciarse en la creación de prototipos. Yo por mi parte ando jugueteando con SketchFlow e iré publicando posts sobre SkectFlow basándome en este libro que de un rápido vistazo me ha parecido interesante. A prototipar…  
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en: ,

DataBinding en WPF 2/2

En el anterior post vimos que teníamos que hacer para realizar sincronización de los datos con la interfaz de usuario sin Databinding, en este vamos a ver el DataBinding Consiste en registrar un par de propiedades, una de ellas en un objeto (Person.Name), la otra en la interfaz grafica (Textbox.Text), con el motor de Data Binding Este motor es el que se encarga de mantener ambas sincronizadas, convirtiendo los tipos de datos según sea necesario Para registrar ambas propiedades...
Publicado por Oskar Alvarez | 1 comment(s)

Data Binding en WPF 1/2

El propósito de la mayoría de las aplicaciones que hacemos es presentar datos, y permitir que los usuarios los modifiquen teniendo que realizar las operaciones de: ordenar, filtrar, convertir, relacionarlos… WPF incorpora un motor de Databinding que es una de las partes más potentes de WPF, no hay limitaciones en cuanto a lo que puedes hacer un Databinding. Podríamos realizar las tareas anteriores sin DataBinding pero con mucho mas código, por ejemplo para...
Publicado por Oskar Alvarez | 5 comment(s)
Archivado en:
Más artículos Página siguiente >