Archivo para WPF

Visifire 2.0 – ya funciona con WPF!!!

Posted in WPF with tags , , , on 2 diciembre, 2008 by febrer

Visifire es un producto para representar gráficos estadísticos completisímo. Es un producto gratuito “Open Source” de gran calidad.

En sus primeras versiones, este producto solo funcionaba con Silverlight, pero en esta versión, han dado el paso a WPF.

En el siguiente post hay más información al respecto:
http://www.visifire.com/blog/2008/11/21/visifire-20-beta-release/

Os dejo unas capturas del componente:

Serializar en formato xaml

Posted in WPF with tags , , on 18 junio, 2008 by febrer

Este es un pequeño truco para serializar objetos en formato xaml. La técnica consiste en utilizar el método “Save” del objeto: XamlWriter. Este nos devuelve en una cadena el objeto “serializado” en xml. Para volver a utilizar dicho objeto, la manera de de-serializar es utilizando el método “Load” del objeto XamlReader.

Ejemplo:

using System.IO;
using System.Windows.Markup;

string mixaml = XamlWriter.Save(miobjeto);
StringReader stringReader = new StringReader(mixaml);
XmlReader xmlReader = XmlReader.Create(stringReader);
ClaseMiObjeto miobjeto2 = (ClaseMiObjeto)XamlReader.Load(xmlReader);

Webbrowser en wpf

Posted in WPF with tags , on 12 junio, 2008 by febrer

Ya tenemos navegador en WPF!!! Solo funciona con Framework 3.5 SP1, pero bueno es un buen comienzo.

Funciones soportadas:

  • NavigateToString
  • NavigateToStream
  • Navigate
  • GoBack
  • GoForward
  • Ejemplo de código:

    <StackPanel Name=”panel”>
        <WebBrowser Height=”500″  >
        </WebBrowser>
    </StackPanel>

    ———–

    private void OnNavigateToStream(object sender, RoutedEventArgs e)
            {
                Uri uri = new Uri(@”pack://application:,,,/pagina.htm”);
                Stream source = Application.GetContentStream(uri).Stream;
                b.NavigateToStream(source);

            }
            private void OnNavigateToString(object sender, RoutedEventArgs e)
            {
                b.NavigateToString(“<html><h2><b>Navegando a una cadena</b></p></h2></html>”);
            }

            private void OnGoBack(object sender, RoutedEventArgs e)
            {
                if (b.CanGoBack)
                {
                    b.GoBack();
                }
                else
                {
                    MessageBox.Show(“Imposible volver!”);
                }
            }

            private void OnGoForward(object sender, RoutedEventArgs e)
            {
                if (b.CanGoForward)
                {
                    b.GoForward();
                }
                else
                {
                    MessageBox.Show(“Imposible avanzar!”);
                }
            }
            private void OnNavigateToCNN(object sender, RoutedEventArgs e)
            {
                b.Navigate(new Uri(“http://www.febrersoftware.com&#8221;, UriKind.RelativeOrAbsolute));
            }

            private void OnNavigateToMSNBC(object sender, RoutedEventArgs e)
            {
                b.Navigate(new Uri(“pack://siteoforigin:,,,/htmlpage1.htm”, UriKind.RelativeOrAbsolute));

            }

    ——————–

     

    Fuente:

    http://blogs.msdn.com/llobo/archive/2008/06/12/wpf-webbrowser.aspx

    FluidKit

    Posted in WPF with tags , , on 5 junio, 2008 by febrer

    Fluidkit es un proyecto open-source muy interesante para la creación de aplicaciones WPF.

    Este es un listado de los controles que dispone la librería:

    ImageButton
    DragDropManager
    GlassWindow
    BalloonDecorator
    ItemSkimmingPanel + SkimmingContextAdorner
    PennerDoubleAnimation
    ElementFlow
    TransitionContainer
    GenieAnimation

    Más info en:

    http://www.codeplex.com/fluidkit

    Este es el blog del programador:

    http://blog.pixelingene.com

    Cabe destacar el control “ElementFlow”, que nos permite realizar carruseles de imágenes. A continuación os dejo una captura:

    Blogs wpf

    Posted in WPF with tags , on 28 mayo, 2008 by febrer

    A continuación os dejo un listado de bloggers en WPF. Espero que lo disfrutéis.

    Alan Le’s Vertigo Blog: Posts
    http://blogs.vertigo.com/personal/alanl/Blog/_layouts/listfeed.aspx?List=d8ffd567-df86-4de5-9b5a-00fd37f58cda
    Andrew Smith
    http://agsmith.wordpress.com/feed/
    Beatriz Costa
    http://feeds.feedburner.com/BeatrizCosta
    Brownie Points
    http://blog.planetwpf.com/syndication.axd
    Corrado’s BLogs
    http://feeds.feedburner.com/corrado
    Dan Crevier’s Blog
    http://blogs.msdn.com/dancre/rss.xml
    IRhetoric – Karsten Januszewski
    http://blogs.msdn.com/karstenj/rss.xml
    Josh Smith on WPF
    http://joshsmithonwpf.wordpress.com/feed
    Karl On WPF – .Net
    http://karlshifflett.wordpress.com/feed/
    Karsten Januszewski
    http://feeds.feedburner.com/irhetoric
    Kevin@Work
    http://work.j832.com/feeds/posts/default
    Lester’s WPF blog
    http://blogs.msdn.com/llobo/rss.xml
    Lutz Roeder’s Weblog
    http://blog.lutzroeder.com/feeds/posts/default
    notstatic.com
    http://feeds.feedburner.com/notstatic
    Okoboji: a lake, a mythical university, Kevin Moore’s blog
    http://blogs.msdn.com/okoboji/rss.xml
    Patrick Long’s Blog
    http://blogs.charteris.com/blogs/patl/rss.aspx
    Pixel in Gene
    http://blog.pixelingene.com/?feed=rss2
    Roman’s Blog
    http://rhnatiuk.wordpress.com/feed/
    Rudi Grobler
    http://dotnet.org.za/rudi/rss.aspx
    Rudi Grobler’s Weblog
    http://rudigrobler.wordpress.com/feed/
    sachabarber.net
    http://sachabarber.net/?feed=rss2
    Sheva’s TechSpace
    http://shevaspace.spaces.live.com/feed.rss
    theWPFblog
    http://thewpfblog.com/?feed=rss2
    Vertigo: Blog
    http://www.vertigo.com/Rss.aspx?type=Blog
    Visifire
    http://feeds.feedburner.com/Visifire
    Windows Presentation Foundation (WPF)
    http://wpf.netfx3.com/blogs/MainFeed.aspx
    WPF Disciples
    http://feeds.feedburner.com/wordpress/blog
    WPF Wonderland
    http://wpfwonderland.wordpress.com/feed/
    WPFopoly
    http://wpfopoly.blogspot.com/feeds/posts/default

    Gráficos estadísticos con wpf

    Posted in WPF with tags , , , on 26 mayo, 2008 by febrer

    Bueno, ya tengo un ejemplo más o menos completo sobre gráficos estadísticos con wpf. Creo que es bastante sencillo de entender. Destacaré un par cosas, 1.- para la generación del fondo del gráfico de barras, utilice una aplicación llamada: Paste2Xaml (http://www.wpf-graphics.com). Lo que hice fue en excel hacer el gráfico, y utilizar el fondo generado.
    2.- La idea inicial fue utilizar DataBindings, de un ejemplo de Beatriz Costa – http://www.beacosta.com/blog/?p=11, pero al final lo desestime, y volví a la programación Standard.

    El código fuente: statsamplezip.doc   (renombrar la extensión .doc a .zip)

    Efecto “messy” en un wrappanel

    Posted in WPF with tags , , , on 14 mayo, 2008 by febrer

    Hoy pondré un poco de código interesante. Es un efecto “messy”, para que veáis el efecto, os pongo una captura:

    Realizarlo es muy sencillo. Lo que hacemos es en evento Loaded del wrappanel, rotamos la posición de todos los objetos. Para hacer más cool el cambio, lo hacemos con DoubleAnimation, que permite “visualizar” el movimiento.

    using System;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    namespace Sdnert.Carousel
    {
        public class BulkPanel : WrapPanel
        {
            private bool _bulk = false;
    
            public BulkPanel()
            {
                Loaded += new RoutedEventHandler(BigAndSmall_Loaded);
            }
            public bool bulk
            {
                get { return _bulk; }
                set
                {
                    _bulk = value;
                    Update();
                }
            }
            private void BigAndSmall_Loaded(object sender, RoutedEventArgs e)
            {
                Update();
            }
            public void Update()
            {
                Random ra = new Random(DateTime.Now.Millisecond);
                Random ra2 = new Random(DateTime.Now.Millisecond);
              
                foreach (UIElement child in Children)
                {
                    int v = ra.Next(5) + 5;
                   
                    if (ra2.Next(2) == 1)
                    {
                        v = v*-1;
                    }
                   
                    if (bulk == false)
                    {
                        v = 0;
                    }
                    RotateTransform rotate = new RotateTransform();
                   
                    DoubleAnimation dblAni = new DoubleAnimation();
                    dblAni.From = (double) child.RenderTransform.GetValue(RotateTransform.AngleProperty);
                    dblAni.To = v;
                    dblAni.Duration = new Duration(TimeSpan.FromSeconds(2));
                    ((ListBoxItem) child).RenderTransform = rotate;
    
                    rotate.BeginAnimation(RotateTransform.AngleProperty, dblAni);
                }
            }
        }
    }

    Proyecto Trends – WPF

    Posted in Trabajos, WPF with tags , on 9 mayo, 2008 by febrer

    Hoy voy a hablar del proyecto en que me encuentro involucrado. Se trata de una interfaz gráfica para realizar búsqueda de imágenes en una base de datos de millones de registros. Es un proyecto Europeo en el que estamos involucrados varias empresas y universidades de Europa. Llevo dos meses y lo tengo muy avanzado. Gracias a WPF las avances han sido vertiginosos.

    El buscador permite realizar búsquedas en base a texto, imagen, formas … La interfaz hace llamadas a servicios web que otros han diseñado y realizado.

    WPF es una tecnología de Microsoft. Esta incluida en el Framework 3.0 y fácilmente programable desde Visual Studio 2008 y Expression Blend.

    La web del proyecto: http://www.trendsproject.org

    Aquí os muestro una captura en video de la aplicación:

    Actualización:

    Han actualizado el portal con la nueva interfaz y hay un nuevo video que presenta la aplicación en Ingles.
    Aqui os dejo el enlace al video. Espero que os guste.