August 2009 - Artículos - Blog de Oskar Alvarez

August 2009 - Artículos

WPF Zoom

Una de las primeras cosas que hice cuando me explicaron el objeto VisualBrush y que me llevo bastante tiempo hacerlo fue una lupa para que cuando mueva el ratón todo lo que se vea dentro de la lupa se vea agrandado es decir la sensación de lupa. Del XAMl que os voy a poner ahora fijaros solamente en el objeto VisualBrush, el otro XAML es para hacer la lupa < Canvas Name = "magnifierCanvas" IsHitTestVisible = "False" > < Line StrokeThickness = "30"...
Publicado por Oskar Alvarez | 6 comment(s)
Archivado en:

WPF – Encontrar Ascendientes y Descendientes en el Arbol visual

Vaya titulito, y es que no sabia como llamarle así que me he decidido por un titulo largo, al grano este post viene derivado de una pregunta de los foros, la pregunta resumida era como recorrerse el árbol visual de elementos de WPF(algo que ya hemos explicado) para encontrar el padre de un tipo determinado que tiene un objeto. Por ejemplo coger la instancia de la ventana que ha instanciado mi UserControl, esto seria posible con la siguiente función public static T FindAncestorOrSelf<T>...
Publicado por Oskar Alvarez | 3 comment(s)
Archivado en:

StringFormat en WPF 3.5 SP1

Una de las nuevas cosas que hay en el SP1 de 3,5 para WPF es StringFormat a la hora de hacer DataBinding que nos va a permitir formatear nuestros datos sin tener que realizar Converters. La clase esta definida por String.Format(IFormatProvider, String, Object[]) . y solo se aplica en una dirección de la fuente al destino. Por ejemplo < Binding ElementName = "myComboBox" Path = "SelectedItem.Content" StringFormat = "{}{0:C}" /> Nos formateara el item seleccionado...
Publicado por Oskar Alvarez | 2 comment(s)

Cargar Imagenes Thumnbail

El otro día haciendo una pequeña aplicación para ver la lista de fotos que tengo de mi hijo que os podéis imaginar que son miles en los casi tres años que tiene, vi que al cargarlos en un ListView me tardaba bastante, también lo achaque a que algunas fotos (la mayoría) son de mas de 5 MB. Hacia una carga del las fotos de mi disco duro var fotos = from d in new DirectoryInfo(@" d:\fotos ").GetDirectories() from f in d.GetFiles() where f.Extension...
Publicado por Oskar Alvarez | 4 comment(s)
Archivado en:

Dynamic Resource y StaticResource Diferencias

Otra de las preguntas mas demandadas es la diferencia que hay entre StaticResource y DynamicResource en WPF. La diferencia es clara: StaticResource son evaluados en tiempo de carga del ejecutable, mientras que DynamicResource se evalúa en tiempo de ejecución, cuando se necesita. Pero lo mejor es verlo con un ejemplo para ver cuando nos puede dar problemas, el ejemplo va a constar de un recurso que va a ser una brocha y vamos a tener dos botones que vamos a asociar esta brocha una con...
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en:

Drag & Drop en WPF

Una de las preguntas mas recurrentes en los foros, cursos.. es como hacer Drag &Drop en WPF, hay muy buenos y muchísimos ejemplos en la red, yo voy a intentar explicarlo sin un gran ejemplo pero que se entiendan todos los conceptos. Si leemos el capitulo de MSDN relativo al drag&drop , la secuencia de un drag &drop es la siguiente   1. Draging es inicializado por la llamada al método DoDragDrop El metodo DoDragDrop tiene dos parámetros: data , se especifica los datos a pasar allowedEffects...
Publicado por Oskar Alvarez | 4 comment(s)
Archivado en:

Tip - DataContext Null

En los foros de MSDN se preguntaba que pasaba con el Binding cuando al inicializarse una ventana el DataContext es nulo y el ejemplo que ponía era el siguiente, tenía el siguiente estilo   < Style x : Key = "SelfCollapsingTextBlock" TargetType = "{x:Type TextBlock}" > < Style.Triggers > < Trigger Property = "IsEnabled" Value = "false" > < Setter Property = "Visibility" Value = "Collapsed" /> </ Trigger >...
Publicado por Oskar Alvarez | 1 comment(s)
Archivado en:

Adorner en WPF

Los Adorner en WPF son simple decoradores de UIElements, esta clase Adorner es un FrameWorkElement que se “enlaza” al control de usuario que se quiere adornar, realmente es un adorno visual, al cual se puede añadir funcionalidad. Para que se entienda mejor en Office 2007 podría ser un Adorner la mini Toolbar que aparece cuando seleccionamos una palabra Un Adorner nos va a permitir Añadir visual feedback a un control, o notificaciones al usuario o… lo que diseñéis. Vamos a  construir un ejemplo...
Publicado por Oskar Alvarez | 3 comment(s)
Archivado en:

Mono para el IPhone

Alucinado me ha dejado esta noticia, el equipo de Miguel de Icaza esta desarrollando el producto MonoTouch que según dicen están pensando lanzarlo la primera semana de Septiembre. Después de haber jugueteado con Objective-C (con muchos dolores de cabeza) si es cierta esta noticia los desarrolladores de .NET estaremos de enhorabuena, seguiré esta noticia con atención a ver si se cumple, y además están buscando desarrolladores para probarlo   http://spreadsheets.google.com/viewform?hl=en&formkey...
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en: ,

IDataErrorInfo , Databinding y WPF una combinación perfecta

Cuando desarrollamos aplicaciones empresariales es importante marcar los errores a los usuarios según van introduciendo los datos, ya vimos algo de esto en el post Validation Rules en WPF donde definamos reglas de validación en la aplicación de WPF. A mi no es que me guste mucho porque si trabajamos con aplicaciones en capas, yo suelo poner este tipo de validaciones en la propia entidad ya que si es utilizada en diferentes pantallas o controles no tengo que replicar este control...
Publicado por Oskar Alvarez | 2 comment(s)
Archivado en: