PDC Essencials - Buenos Aires

November 18th, 2008

Hoy junto a Julian Dominguez estuvimos presentando en la edición local de la PDC  los nuevos controles Ribbon y Data Grid para WPF, tal como prometimos a continuación podrán encontrar la solución de ejemplo que usamos en la charla como así también algunos links con recursos para que puedan seguir ahondando en el tema.

Una de las nuevas características de WPF 3.5 es Viewport2DVisual3D, esta nos permite tomar un objeto 2D y visualizarlo en un espacio 3D, esto lo podíamos hacer anteriormente con 3D Tools for WPF pero ahora al menos algunas de estas características son parte del framework, para mostrarles su uso voy amigrar la demo que utilice en el Code Camp, cuyo código pueden bajar desde aquí o consultar mas en profundidad en este post, para que pase de usar 3D Tools for WPF por Viewport2DVisual3D.

Pasemos a ver el código, verán que aun sigo usando 3D Tools for WPF, pero tan solo para utilizar el TrackBallDecorator, que es quien me permite mover el modelo utilizando el mouse, el resto del código es muy fácil de seguir, en el resource he creado un mesh, luego configuro la cámara, la luz y por ultimo pinto mi mesh con un MediaElement.

<Window x:Class=”DemoViewport2DVisual3D.Window1″

xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”

xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”

xmlns:local=”clr-namespace:_3DTools;assembly=3DTools”

Title=”Viewport2DVisual3D Demo” Height=”600″ Width=”600″>

<Window.Resources>

<MeshGeometry3D x:Key=”3dMesh” Positions=”-1,1,0 -1,-1,0 1,-1,0 1,1,0″

TextureCoordinates=”0,0 0,1 1,1 1,0″ TriangleIndices=”0 1 2 0 2 3″/>

</Window.Resources>

<local:TrackballDecorator>

<Viewport3D HorizontalAlignment=”Stretch” VerticalAlignment=”Stretch”>

<Viewport3D.Camera>

<PerspectiveCamera Position=”0,0,4″ FieldOfView=”45″ />

</Viewport3D.Camera>

<ModelVisual3D >

<ModelVisual3D.Content>

<AmbientLight Color=”#FFFFFFFF”/>

</ModelVisual3D.Content>

</ModelVisual3D>

<Viewport2DVisual3D Geometry=”{StaticResource 3dMesh}”>

<Viewport2DVisual3D.Visual>

<MediaElement Source=”silverlight.wmv” Stretch=”Uniform” Volume=”0″ LoadedBehavior=”Play” Width=”448″ Height=”256″/>

</Viewport2DVisual3D.Visual>

<Viewport2DVisual3D.Material>

<DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial=”true”/>

</Viewport2DVisual3D.Material>

</Viewport2DVisual3D>

</Viewport3D>

</local:TrackballDecorator>

</Window>

Al ejecutar el ejemplo deberíamos de ver algo como lo siguiente.

Viewport2DVisual3D

Tal como prometí ayer, aquí les dejo el código de las demos que estuve presentando y algunos enlaces que les serán de utilidad.

Snow Shop

Download Snow Shop

Xbox 360 Showcase

Download Xbox 360 Showcase

Flextreme Color Selector

Download Flextreme Color Selector

Bea Costa Blog

My Printer 3D

Download My Printer 3D

Erain ZAM 3D

3D Tools for WPF

Download Demo 3D

3D Tools for WPF

Espero la hayan pasado tan bien como yo en el Code Camp y nos vemos el año próximo.

Aprovechando la salida de Expression Blend 2 September Preview cree el primero de una serie de screencasts donde mostrare algunas funciones y características de Expression Blend y como utilizarlas en nuestros proyectos.

En esta entrega veremos como utilizando Motion Paths podemos animar un elemento para que siga el contorno de una forma geométrica o la trayectoria de una línea.

Expression Blend - Motion Path

Download - Motion Paths con Expression Blend

Este post es para agradecer a Charles Petzold el haberme enviado una copia de su nuevo libro 3D Programming for Windows, el cual no solo me lo regalo, sino que se tomo un momento para escribir una dedicatoria y firmarlo.

3D Programming for Windows

El libro junto a Applications = Markup + Code, su anterior libro, son recursos indispensables para todos aquellos que desarrollan aplicaciones WPF, para finalizar les recomiendo darse una vuelta por el blog de Charles el cual una gran fuente de información sobre Windows Presentation Foundation.

WPF3D_01