Se ha liberado el primer CTP de WPF/E (o también llamado WindowsPresentationFoundation/EveryWhere). WPF/E es un sub conjunto de WPF pensado para agregar riqueza visual a las aplicaciones y páginas Web, permitiendo integrar animaciones 2D, vídeo y otras formas de interactuar con datos e información. WPF/E es multiplataforma. Puede correr en Internet Explorer, Firefox e incluso en Safari en un Mac. Por último, comentar que WPF/E se instala como un plug-in en los browsers.
Para aquellos que no lo sepan, estas utilidades permiten generar documentación de código a partir de los assemblies y sus correspondientes documentos XML que genera por ejemplo Visual Studio, a partir de los comentarios del código. Usa además Reflection para obtener documentación adicional de las posibles dependencias que pueda usar nuestra aplicación.
Para todos aquellos que quieran participar en el grupo de usuarios de .Net de Barcelona , pasaros por la pagina http://www.bcndev.net/
Sus acciones se dirigen a la difusión, aprendizaje, e intercambio técnico comunitario acerca de productos y tecnologías vinculadas a la tecnología.NET de Microsoft.
En el nº 30 de la revista DotNetMania se hace referencia a este blog. Para mi es todo un orgullo y desde aqui quiero agredecer a la revista por el detalle.
Bueno, para empezar con esto del WinFX he decidido hacer una pequeña aplicación en la cual tenemos una imagen que podremos hacer rotar. La aplicación es muy simple, pero es un comienzo... El código estará en imagenes porque blogguer no me permite escribir código XAML ya que lo interpreta como código HTML. Código XAML
Primero añadimos un Grid para poder insertar varios elementos en el formulario. En este grid definiremos 2 columnas y tres filas para poder insertar las diferentes opciones de rotación de la imagen.
Después añadiremos los RadioButton para escoger el grado de rotación.
Como bien recuerda Toni Recio en su blog (http://www.lascortinasdewindows.com/) es muy importante añadir la propiedadNamea todos los objetos para posteriormente poder añadir codigo en los eventos de los controles. También hemos escogido una columnaGrid.Columny una filaGrid.Rowpara cada objeto para que quede ubicado en una parte determinada del grid.
Por ultimo, añadiremos la imagen que queremos rotar. En este caso, como queremos que ocupe toda una fila, añadiremos la propiedadGrid.ColumnSpanque nos permite combinar las columnas.
Image Grid.Row="2"Grid.ColumnSpan="2"Name="Imagen"Source="C:\Documents and Settings\All Users\Documentos\Mis imágenes\Imágenes de muestra\Invierno.jpg"Margin="62.1045572153489,12.9410731669111,50.579900124844,62.723955231492"
Una parte importante de la rotación de la imagen es el siguiente codigo que viene despues de insertar la imagen.
Despues de varios intentos fallidos para que funcione la aplicación, encontre la solucion en añadir la propiedadAngle="0"Sin esta propiedad nos dara un error la aplicación al intentar rotar la imagen.
El diseño del formulario quedaria de la siguiente manera:
Source
' Interaction logic for Window1.xaml Partial Public Class Window1
Inherits Window
Public Sub New() InitializeComponent() End Sub
Private Sub rb45_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles rb45.Click
Private Sub rb90_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles rb90.Click
Dim Angulo As Double = 90
Imagen.RenderTransform.SetValue(RotateTransform.CenterXProperty, Angulo) Imagen.RenderTransform.SetValue(RotateTransform.CenterYProperty, Angulo) Imagen.RenderTransform.SetValue(RotateTransform.AngleProperty, Angulo) End Sub
Private Sub rb180_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles rb180.Click
Primero deberemos seleccionar el control y el metodo que queremos utilizar. Una vez seleccionado, declaremos dos variables de tipo Double para asignar el grado de rotación y también la posicion del eje, ya que al hacer la rotación, éste cambia de posicion.
Con todo esto ya tenemos nuestra pequeña aplicación basada en WinFX. Hay que destacar que se nota que todavia esta en fase Beta (en este caso la 2), ya que al producirse errores, hace que se cierre el Visual Studio. Y sobretodo se nota mucho en la velocidad de las aplicaciones (supongo que por las tarjetas graficas).
Seguiremos trabajando y añadiendo futuras aplicaciones al blog!!
En la pagina de http://www.devx.com/dotnet/Door/31645 hay varios artículos sobre WPF y .NET muy interesantes. El único problema es que está en ingles.
Otra pagina interesante donde puedes compartir proyectos y experiencias con otros desarrolladores de todo el mundo es http://www.codeplex.com/ También en ingles.
XAML (siglas del inglés para Extensible Application Markup Language, Lenguaje de Formato para Aplicaciones Extendibles y pronunciado "Zammel") es el lenguaje de formato para la interfaz de usuario para la Base de Presentación de Windows (WPF por sus siglas en inglés), el cual es uno de los "pilares" de la interfaz de programación de aplicacionesWinFX. XAML es un lenguaje declarativo basado en XML, optimizado para describir gráficamente interfaces de usuarios visuales ricas desde el punto de vista gráfico, tales como las creadas por medio de Macromedia Flash. XUL y UIML son otros ejemplos de lenguajes de interfaz basados en XML. SVG es otro lenguaje de este tipo propuesto por la organización W3C, el cual soporta gráficos, animaciones, audio y video integrados, eventos y comportamiento descrito por medio de escritura y puede ser utilizado como lenguaje de intefaz basado en XML. En su uso típico, los archivos tipo XAML serían producidos por una herramienta de diseño visual, como Microsoft Visual Studio o Microsoft Expression (actualmente en versión beta). El XML resultante es interpretado en forma instantánea por un sub-sistema de despliegue de Windows Vista que reemplaza al GDI de las versiones anteriores de Windows. Los elementos de XAML se interconectan con objetos del Entorno Común de Ejecución para Lenguajes. Los atributos se conectan con propiedades o eventos de esos objetos. XAML fue diseñado para soportar las clases y métodos de la plataforma de desarrollo.NET que tienen relación con la interacción con el usuario, en especial el despliegue en pantalla. El acrónimo XAML originalmente significaba Extensible Avalon Markup Language, Lenguaje de Formato para Extensibilidad de Avalon; habiendo sido Avalon el nombre clave original de la Base de Presentación de Windows, nombre que engloba a este grupo de clases de .NET.
Si teneis curiosidad por saber mas sobre el nuevo framework, visitad la web http://wcf.netfx3.com/ Podreis encontrar algun ejemplo, herramientas y estar puntualmente informados sobre todas las novedades que se produzcan.
Otro link que os recomiendo es el de Toni Recio http://www.lascortinasdewindows.com/ Un blog donde explica todo sobre WPF (Windows Presentation Foundation) , .NET 3.0 Y XAML desde el punto de vista de un programador.
Ante la pregunta y confusión sobre si WinFX remplazará al .NET Framework, cuando de hecho WinFX = Win [WinAPI] + FX [.NET Framework], Microsoft ha decidido ya no dejar dudas en ello por lo que a partir de hoy WinFX cambia su nombre a .NET Framework 3.0. El cambio es sólo nominal, todo lo demás queda tal y como estaba en WinFX. Por lo que entonces el llamado ".NET Framework 3.0" consiste de todo lo que trae consigo el .NET Framework 2.0 propiamente dicho, WCF (Windows Communication Foundation), WPF (Windows Presentation Foundation), WF (Windows Workflow Foundation), y WCS (Windows CardSpace, aka InfoCard).
El proyecto LINQ de Microsoft son una serie de extensiones que permitirán a .NET (C# y Visual Basic) acceder a funciones de consulta y transformación de colecciones de datos de forma integrada. Lo interesante del proyecto es que permite accede de modo uniforme a bases de datos, ficheros XML y colecciones .NET. Con estas extensiones es posible, por ejemplo, escribir el siguiente código: var productos = from p in products where p.UnitsInStock == 0 select p;
Y esto funcionará sea “products” una colección (un array, por ejemplo), una tabla en una base de datos o una serie de elementos en un fichero XML.