wpf

15
Windows Presentation Foundation (WPF) es una tecnología de Microsoft, presentada como parte de Windows Vista. Permite el desarrollo de interfaces de interacción en Windows tomando características de aplicaciones Windows y de aplicaciones web. WPF ofrece una amplia infraestructura y potencia gráfica con la que es posible desarrollar aplicaciones visualmente atractivas, con facilidades de interacción que incluyen animación, vídeo, audio, documentos, navegación o gráficos 3D. Separa, con el lenguaje declarativo XAML y los lenguajes de programación de.NET, la interfaz de interacción de la lógica del negocio, propiciando una arquitectura Modelo Vista Controlador para el desarrollo de las aplicaciones. WPF(WINDOWS PRESENTATION FOUNDATION )

description

Aplicaciones Windows Presentation Fundation .NET

Transcript of wpf

Page 1: wpf

Windows Presentation Foundation (WPF) es una tecnología de Microsoft, presentada como parte de Windows Vista. Permite el desarrollo de interfaces de interacción en Windows tomando características de aplicaciones Windows y de aplicaciones web.

WPF ofrece una amplia infraestructura y potencia gráfica con la que es posible desarrollar aplicaciones visualmente atractivas, con facilidades de interacción que incluyen animación, vídeo, audio, documentos, navegación o gráficos 3D. Separa, con el lenguaje declarativo XAML y los lenguajes de programación de.NET, la interfaz de interacción de la lógica del negocio, propiciando una arquitectura Modelo Vista Controlador para el desarrollo de las aplicaciones.

WPF se incluye con Windows 7, Windows Vista y Windows Server 2008 y también está disponible para Windows XP Service Pack 2 o posterior yWindows Server 2003

WPF(WINDOWS PRESENTATION FOUNDATION )

Page 2: wpf

WPF tiene un conjunto de servicios de datos para permitir a los desarrolladores de aplicaciones enlazar y manipular los datos dentro de las aplicaciones. Existen tres tipos de enlace de datos:Una vez: cuando el cliente hace caso omiso de las

actualizaciones en el servidor.Simplex (one way): el cliente sólo tiene permiso de

lectura a los datos.Dúplex (two way): el cliente puede leer y escribir datos en

el servidor.Las consultas LINQ, incluyendo LINQ to XML,

pueden actuar también como fuentes de datos para el enlace de datos.

DATA BINDING (ENLACE DE DATOS)

Page 3: wpf

El enlace de datos no influye en su presentación. WPF proporciona plantillas de datos para controlar la presentación de los datos.

Como parte de WPF se proporciona también un conjunto de controles integrados, que contiene elementos como botones, menús, rejillas, y listas.

Un concepto muy potente en WPF es la separación lógica entre un control y su apariencia.La plantilla de un control se puede sobrescribir para

cambiar por completo su aspecto visual.Un control puede contener cualquier otro control o diseño

(layout), lo que permite un alto grado de control sobre la composición.

Tiene un modo de «gráficos retenidos» (retained graphics): no siempre es necesario repintar la pantalla.

Page 4: wpf

WPF proporciona un sistema integrado para la creación de interfaces de usuario con elementos multimedia comunes, como imágenes vectoriales y de mapa de bits, audio y vídeo. WPF también proporciona un sistema de animación y un sistema de renderizado en 2D/3D.

WPF proporciona primitivas de forma para gráficos en 2D junto con un conjunto integrado de pinceles, lápices, geometrías, y transformaciones.

Las capacidades 3D de WPF son un subconjunto del conjunto completo de características proporcionado por Direct3D. Sin embargo, WPF proporciona una integración más estrecha con otras funciones como las interfaces de usuario, documentos, y multimedia. Esto hace que sea posible disponer de interfaces de usuario en 3D, documentos 3D o multimedia en 3D.

Se soporta la mayoría de formatos de imagen más comunes: BMP, JPEG, PNG, TIFF, Windows Media Photo, GIF, e iconos

MEDIA SERVICES

Page 5: wpf

En WPF, puede definir el aspecto de un elemento directamente, a través de sus propiedades, o indirectamente a una plantilla o el estilo. En su forma más simple un estilo es una combinación de valores de propiedades que se pueden aplicar a un elemento de interfaz de usuario con un atributo de la propiedad individual. Las plantillas son un mecanismo alternativo para la definición de interfaz de usuario para partes de la aplicación de WPF. Hay varios tipos de plantillas disponibles en WPF.

Detrás de todos los controles de interfaz de usuario de WPF es un modelo de nueva composición. Todos los mandos se compone de una o más "visuales". Estos sub-elementos visuales se convierten en un árbol jerárquico de Visual por WPF y eventualmente prestados por la CPU. Dado que los controles de WPF no son contenedores para controles estándar de Windows de su interfaz de usuario puede ser radicalmente modificada sin afectar el comportamiento normal del control.

PLANTILLAS EN WPF

Page 6: wpf

Todos los mandos de WPF tiene por defecto una plantilla que define su árbol visual. La plantilla predeterminada es creado por el autor de control y es sustituible por otros desarrolladores y diseñadores. El sustituto de interfaz de usuario se coloca dentro de una ControlTemplate.

WPF tiene un sistema de enlace de datos flexible. elementos de la interfaz se pueden rellenar y sincronizada con los datos de un modelo de datos subyacente. En lugar de mostrar un texto sencillo de los datos enlazados WPF puede solicitar una plantilla de datos antes de representar al árbol visual.

Page 7: wpf

WPF admite animaciones basadas en el tiempo, en contraste con el enfoque basado en frames, Esto desacopla la velocidad de la animación de cómo el sistema está funcionando.

WPF admite animación de bajo nivel a través de temporizadores y más alto nivel de abstracción a través de animaciones las clases de animación.

Cualquier propiedad elemento de WPF pueden ser animados, siempre y cuando se registra como una propiedad de dependencia.

Clases de animación se basan en el. NET tipo de bienes a ser animados. Por ejemplo, cambiando el color de un elemento se hace con la clase ColorAnimation y animar el ancho de un elemento (que se escribe como un doble) se hace con la clase DoubleAnimation

ANIMACIONES

Page 8: wpf

En muchas tecnologías, los elementos y componentes se organizan en una estructura de árbol que los programadores manipulan directamente para afectar a la representación de una aplicación. Windows Presentation Foundation (WPF) también utiliza varias metáforas de la estructura de árbol para definir las relaciones entre los elementos de programación.

ARBOLES EN WPF

Page 9: wpf

La estructura de árbol principal de WPF es el árbol de elementos. Si crea una página de aplicación en XAML, se crea la estructura de árbol basándose en las relaciones del anidamiento de los elementos en el marcado. Si crea una aplicación en código, se crea la estructura de árbol basándose en cómo asigne los valores de las propiedades que implementan el modelo de contenido para un elemento determinado. En Windows Presentation Foundation (WPF), existen en realidad dos maneras de procesar y conceptualizar el árbol de elementos: como el árbol lógico y como el árbol visual. Las distinciones entre árbol lógico y árbol visual no son siempre importantes, pero en ocasiones pueden dar lugar a problemas con algunos subsistemas de WPF y afectar a las opciones que se hacen en marcado o en código.

ÁRBOLES EN WPF

Page 10: wpf

En WPF, se agrega contenido a los elementos utilizando las propiedades. Por ejemplo, se agregan elementos a un control ListBox mediante su propiedad Items. Al hacerlo, está colocando elementos en la ItemCollection del control ListBox. Para agregar elementos a un control DockPanel, se utiliza su propiedad Children. En este caso, agrega elementos a la UIElementCollection de DockPanel.

En Lenguaje de marcado de aplicaciones extensible (XAML), al colocar los elementos de lista en ListBox, o controles u otros elementos en DockPanel, también se utilizan las propiedades Items y Children, de manera explícita o implícita, como en el ejemplo siguiente.

ÁRBOL LÓGICO

Page 11: wpf

C#<DockPanel Name="ParentElement"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <!--implicit: <DockPanel.Children>--> <ListBox DockPanel.Dock="Top"> <!--implicit: <ListBox.Items>--> <ListItem> <Paragraph>Dog</Paragraph> </ListItem> <ListItem> <Paragraph>Cat</Paragraph> </ListItem> <ListItem> <Paragraph>Fish</Paragraph> </ListItem> <!--implicit: </ListBox.Items>--> </ListBox> <Button Height="20" Width="100" DockPanel.Dock="Top">Buy a Pet</Button> <!--implicit: </DockPanel.Children>--> </DockPanel>

Page 12: wpf

Teniendo en cuenta que las etiquetas de elemento de propiedad no se necesitan de forma explícita, porque el lector XAML deduce los elementos de propiedad al crear los objetos que crean la representación de objetos de la aplicación en tiempo de ejecución del ejecutable. En el gráfico siguiente se proporciona una vista conceptual del árbol lógico que se construye en tiempo de ejecución (la bifurcación del botón se ha omitido).

Page 13: wpf

Esquema del aspecto de un árbol lógico genérico

Finalidad del árbol lógicoEl árbol lógico existe para que los modelos de

contenido puedan recorrer con prontitud en iteración sus posibles elementos secundarios, y para que los modelos de contenido puedan ser extensibles. Asimismo, el árbol lógico proporciona un marco de trabajo para algunas notificaciones, como cuando se han cargado todos los elementos en él.

Page 14: wpf

El árbol visual describe la estructura de objetos visuales representados por la clase base Visual. Cuando se escribe una plantilla para un control, se define o vuelve a definir el árbol visual aplicable a ese control. El árbol visual también reviste interés para los programadores que desean un control de bajo nivel sobre el dibujo por motivos de optimización y rendimiento. Una exposición del árbol visual como parte de la programación de aplicaciones de WPF convencional consiste en que las rutas de evento de un evento enrutado recorren en su mayoría el árbol visual, no el árbol lógico. Esta sutileza de comportamiento de los eventos enrutados puede no resultar patente de forma inmediata salvo para los autores de controles. Enrutar a través del árbol visual permite que los controles que implementan la composición en el nivel visual controlen eventos o creen establecedores de eventos.

ÁRBOL VISUAL

Page 15: wpf

El uso de WPF está enfocado a aplicaciones que hagan uso desde contenido multimedia (videos, audio, texto enriquecido) como para facilitar la creación de aplicaciones empresariales de “tipo escritorio” o aplicaciones web enriquecidas.

WPF nos permite a los desarrolladores reutilizar el código y crear rápidamente versiones web y de cliente de las aplicaciones.

Recomiendo usar WPF sobre Windows Forms porque considero que Microsoft está enfocando está tecnología como la plataforma para el desarrollo de interfaces de última generación a los que aporta una mayor riqueza visual y nuevos componentes.

CONCLUSIÒN