Title: Windows Presentation Foundation
1Windows Presentation Foundation
Guillermo Som El Guille http//www.elguille.inf
o/ http//www.mundoprogramacion.com/ guille_at_elguil
le.info
2Cual es la experiencia del Usuario?
3Experiencia del usuario en Software?
Windows Vista
Office 2007
Riqueza Gráficos Medios Visualización de
datos Alta fidelidad en la información Globalizaci
ón Accesible Hardware Impresión Integración
Fácil de Usar Fácil de aprender Performance Confia
blidad Seguridad
4Retos en la experiencia del usuario
5.NET
6Windows Presentation Foundation
Una forma productiva y unificada para aprovechar
la interface de usuario utilizando medios y
documentos para entregar una experiencia al
usuarios sin precedentes
7Escenarios clave
- Siguiente generación de Clientes inteligentes
- Aplicaciones de Escritorio.
- Aplicaciones Web (Basadas en XAML)
- Despliegue flexible
8Windows Presentation Foundation
- Entregando innovadoras interfaces de usuario
- Incrementando la productividad entre el
desarrollador y el diseñador - Logrando flexibilizar el despliegue de
aplicaciones - Utilizando el Código Base Existente y las
habilidades
Una forma productiva de aprovechar la interface
de usuario, utilizando medios y documentos para
ofrecer una experiencia del usuario sin
precedentes
Superior experiencia de usuario con UI, Medios
Documentos
9Construcción de Aplicaciones WPF
10Arquitectura de WPF
11Programación declarativa usando XAML
XAML Extensible Application Markup Language
- Programación declarativa
- Código y contenido están separados
- Pueden ser dibujados en un Explorador Web o en
una aplicación independiente
12XAML es sólo para gráficos?
- Lenguaje universal para instanciar clases en .NET
- Se utiliza ampliamente en WWF también
- En realidad se puede utilizar para instanciar
casi cualquier clase de .NET - Es posible refenciar tus propias clases desde
XAML para utilizarlas
13Controles, Plantillas, Estilos Recursos,
Diseños, Animaciones
Animación, Acciones, Lineas de tiempo
ltStackPanelgt ltStackPanel.Triggersgt
ltEventTrigger RoutedEventButton.Click"gt
ltEventTrigger.Actionsgt ltBeginStoryboardgt
ltBeginStoryboard.Storyboardgt
ltStoryboardgt ltColorAnimation
To"Yellow" Duration"000.5
Storyboard.TargetName"TheBrush"
Storyboard.TargetProperty"Color" /gt
ltDoubleAnimation To"45" Duration"002"
Storyboard.TargetName"LowerEllipseTrans
form" Storyboard.TargetProperty"
Angle" /gt ... lt/StackPanel.Trigge
rsgt remainder of contents of StackPanel,
including xName'd TheBrush and
LowerEllipseTransform lt/StackPanelgt
- Servicios de UI
- Plantillas
- Diseño
- LibrerÃa de Controles
- Estilos y recursos
- Apuntes
14Templates y Estilos en WPF
15Data Binding
Diseño Databinding ltStackPanelgt ltLabelgtSelect
A Customerlt/Labelgt ltListBox Name"myListBox"
Background"HoneyDew" ItemsSource"Binding
StaticResource myDataSource"
lt/ListBoxgt lt/StackPanelgt
- UI puede ser ligada a objetos CLR y XML
- Propiedades dependientes pueden ser ligadas a
ADO.NET y objetos asociados con Web Services y
propiedades Web - Ordenamiento, filtrado y vistas agrupadas pueden
ser generadas arriba de los datos - Plantillas pueden ser aplicadas a los datos
16Data Binding en WPF
17Eventos Ruteados en WPF
- WPF utiliza tres formas de eventos diferentes
para sus elementos gráficos - Preliminares Se disparan de manera descendente a
través del arbol visual de los objetos padre a
los objetos hijo. - OnPreviewMouseDown, OnPreviewMouseUp, etc.
- Burbujeantes Se disparan sucesivamente de
objetos hijos a sus padres a lo largo del
arbol de dibujo. - OnMouseDown, On MouseUp, etc.
- Directos No se propagan a través de los objetos
del arbol de dibujo. - OnMouseEnter, OnMouseLeave, etc.
18Eventos Ruteados en WPF
19Propiedades Dependientes en WPF
- Las propiedades dependientes extienden la
funcionalidad de las propiedades tradicionales
.NET para soportar la funcionalidad de WPF (y
otros aspectos de .NET 3.0) - Soporte a Recursos
- Ligado a Datos (Data Binding)
- Estilos
- Animación
- Herencia de Valores desde Contenedores
20Form Factors Hardware Acceleration
Sony VAIO U71
Toshiba M200
Toshiba 72MX195
CPU
GPU
212D Graphics
Imaging
Gráficas 2D, Gráficas 3D, Imágenes
Gráficas 3D
22Conceptos Básicos de Programación 3D
23Conceptos Básicos de Programación 3D
- ViewPort3D
- Es un elemento WPF (FrameworkElement) que
contiene una escena 3D dentro de un espacio 2D - Cámaras
- Una cámara define la ubicación del ojo y la
manera como la escena 3D se proyecta en 2D - PerspectiveCamera
- OrthographicCamera
24Conceptos Básicos de Programación 3D
- Modelos
- WPF no soporta primitivos complejos en un módelo
3D cómo esféras, cubos, u otras figuras - Todo modelo es simplemente una colección de
triángulos - MeshGeometry3D
- Define una colección de triángulos mediante
- Positions Una colección de vertices
- Triangles Definición de triángulos (cada uno con
3 vértices obtenidos de Positions) - Normals Colección opcional de vectores normales
a cada cara de un triángulo que determinan como
se refleja la luz
25Audio Y Video
- Formatos WMV, MPEG, algunas AVIs
- Pueden ser sincronizadas con algunas animaciones
- Windows Media Foundation es usado para instanciar
la maquinaria necesaria para mostrar los medios
dentro de una gráfica. - Clases MediaElement y MediaPlayer
26Demostración WPF 3D y Video
27ClearType Antialiasing
28Nuevas fuentes para WPF en Windows Vista
29Nueva tecnologÃas de documentos
30Aplicaciones de Documentos para WPF
31Interoperabilidad
Incrementalmente unido a WPF, mientras permite
aprovechar las inversiones actuales WPF -
Windows Forms Interoperabilidad WPF - HWNDs
32Aplicaciones Reales con WPF
NY Times Reader WikiPedia Browser
33Obteniendo WPF
34Disponibilidad
Q12006
Q2
Q4
Q12007
Q3
Q2
Q3
Q4
- Community Technology Previews (CTP) de la
plataforma y herramientas disponibles actualmente - WPF
- Componentes de .NET Framework 3.0 para Windows
Vista - Trabaja con Windows Vista, Windows XP Windows
Server 2003 - Licenciado como parte de Windows sin cargo
adicional - Visual Studio Orcas estará disponible después
de Windows Vista - MS Expression Interactive Designer estará
disponible después de Windows Vista
35Conclusiones WPF
Entrega innovadoras expriencias de usuario
Incrementa la productividad de los
Desarrolladores-Diseñadores
Permite un despliegue de aplicaciones flexible
Apalancando el código existente y las
habiliadades actuales