WPF: Viewport2DVisual3D - Este elemento Freezable no se puede inmovilizar - DotNetClubs
en

DotNetClubs

Comunidades de estudiantes entusiastas de la tecnología

WPF: Viewport2DVisual3D - Este elemento Freezable no se puede inmovilizar

Último artículo 05-07-2008 15:52 escrito por Onir. 4 respuestas.
Página 1 de 1 (5 elementos)
Ordenar mensajes: Anterior Siguiente
  • 05-05-2008 20:52

    • Onir
    • Contribuyente Top 50
    • Se unió el 12-24-2006
    • Madrid
    • Envíos: 23
    • Puntos: 190
    • DotNetClub_Miembros

    WPF: Viewport2DVisual3D - Este elemento Freezable no se puede inmovilizar

     Hola,

     Estoy intentando cargar el siguiente xaml en el content de un viewport2DVisual3D para que lo represente pero me salta esa excepción que desconozco por completo a qué se refiere. Google tampoco me aporta mucho, ¿alguna idea?

     

    <Canvas x:Name="diana_design" Width="399.515" Height="366.545">
              <Canvas x:Name="Fondo" Width="399.515" Height="366.545" Canvas.Left="0" Canvas.Top="0">
                <Rectangle x:Name="Rectangle" Width="400.515" Height="367.545" Canvas.Left="-0.5" Canvas.Top="-5.5" Stretch="Fill" StrokeLineJoin="Round" Stroke="#FF000000"/>
              </Canvas>
              <Canvas Name="h" Width="399.515" Height="366.545" Canvas.Left="0" Canvas.Top="0">
                <Ellipse Name="Ellipse" Width="330" Height="330" Canvas.Left="35.2576" Canvas.Top="15.106" Stretch="Fill" StrokeLineJoin="Round" Stroke="#FF000000" Fill="#FFFFFFFF"/>
              </Canvas>         
            </Canvas>

     

    El XAML está escupido por Expressiond Design al exportarlo :P 

     

    José Ángel Fernández

    Coordinador DotNetClub
    Universidad Politécnica de Madrid
    • Puntos de post: 20
  • 05-06-2008 23:49 en respuesta a

    • Csar
    • Contribuyente Top 10
    • Se unió el 07-31-2006
    • Albacete - Spain
    • Envíos: 101
    • Puntos: 620
    • DotNetClub_Coordinadores
      DotNetClub_Miembros

    Re: WPF: Viewport2DVisual3D - Este elemento Freezable no se puede inmovilizar

     Hola José Ángel,

     A mí si me funciona, eso si cuando abro el proyecto desde Visual Studio pega un petardazo que no veas Big Smile, pero desde Visual Studio si que tira bien de veras.

    <Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="prueba.Window1"
        x:Name="Window"
        Title="Window1"
        Width="800" Height="600">
        <Grid>
            <Viewport3D>
                <Viewport3D.Camera>
                    <PerspectiveCamera FieldOfView="50" FarPlaneDistance="100" LookDirection="0,0,-3.4142135623731" NearPlaneDistance="0.5" Position="0,0,3.4142135623731" UpDirection="0,1,0"/>
                </Viewport3D.Camera>
               
                <Viewport2DVisual3D>

                    <!-- Give the plane a slight rotation -->
                    <Viewport2DVisual3D.Transform>
                        <RotateTransform3D>
                            <RotateTransform3D.Rotation>
                                <AxisAngleRotation3D Angle="40" Axis="0, 1, 0" />
                            </RotateTransform3D.Rotation>
                        </RotateTransform3D>
                    </Viewport2DVisual3D.Transform>

                    <!-- The Geometry, Material, and Visual for the Viewport2DVisual3D -->
                    <Viewport2DVisual3D.Geometry>
                        <MeshGeometry3D 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"/>
                    </Viewport2DVisual3D.Geometry>

                    <Viewport2DVisual3D.Material>
                        <DiffuseMaterial Viewport2DVisual3D.IsVisualHostMaterial="True" Brush="White"/>
                    </Viewport2DVisual3D.Material>

                    <Canvas x:Name="diana_design" Width="399.515" Height="366.545">
                        <Canvas x:Name="Fondo" Width="1106.556" Height="859.914" Canvas.Left="0" Canvas.Top="0">
                            <Rectangle x:Name="Rectangle" Width="230" Height="172" Canvas.Left="56" Canvas.Top="92" Stretch="Fill" StrokeLineJoin="Round" Stroke="#FF000000"/>
                        </Canvas>
                        <Canvas Name="h" Width="1343.199" Height="1129.887" Canvas.Left="0" Canvas.Top="0">
                            <Ellipse Name="Ellipse" Width="153.318" Height="123.321" Canvas.Left="106.25" Canvas.Top="115" Stretch="Fill" StrokeLineJoin="Round" Stroke="#FF000000" Fill="#FFFFFFFF"/>
                        </Canvas>
                       
                    </Canvas>

                </Viewport2DVisual3D>

            </Viewport3D> 

        </Grid> 
           
    </Window>

     

    Saludetes Cool 

    César Reneses
    http://labloguera.net/blogs/csharp
    Coordinador Albacete DotNetClub
    • Puntos de post: 20
  • 05-07-2008 0:06
    [ Marcado como respuesta ]
    en respuesta a

    • Onir
    • Contribuyente Top 50
    • Se unió el 12-24-2006
    • Madrid
    • Envíos: 23
    • Puntos: 190
    • DotNetClub_Miembros

    Re: WPF: Viewport2DVisual3D - Este elemento Freezable no se puede inmovilizar

    Answer

    Hola césar, te vas a convertir en mi consultor privador de WPF en el foro :P

     Creo que he encontrado el fallo de mi problema en los foros de MSDN (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2753906&SiteID=1). Se debe a un bug cuando tienes un data binding en el transform de la cámara y un Viewport2DVisual3D en la misma escena... esas cosas raras raras.

    Tengo que probarlo mañana a ver si eso es el verdadero motivo o no.

    José Ángel Fernández

    Coordinador DotNetClub
    Universidad Politécnica de Madrid
    • Puntos de post: 20
  • 05-07-2008 12:38 en respuesta a

    • Csar
    • Contribuyente Top 10
    • Se unió el 07-31-2006
    • Albacete - Spain
    • Envíos: 101
    • Puntos: 620
    • DotNetClub_Coordinadores
      DotNetClub_Miembros

    Re: WPF: Viewport2DVisual3D - Este elemento Freezable no se puede inmovilizar

    Jajaja Big Smile

    Perdona por el fallico, es lo que tienen las prisas Sad:

    "A mí si me funciona, eso si cuando abro el proyecto desde Visual Studio pega un petardazo que no veas Big Smile, pero desde Visual Studio si que tira bien de veras."

    debería haber puesto:

    "A mí si me funciona, eso si cuando abro el proyecto desde Blend 2.5 pega un petardazo que no veas Big Smile, pero desde Visual Studio si que tira bien de veras." 

    Al final nos vamos a tener que montar un grupo de estudio de WPF entre tu y yo Big Smile

     

    Saludetes 

     

    César Reneses
    http://labloguera.net/blogs/csharp
    Coordinador Albacete DotNetClub
    • Puntos de post: 20
  • 05-07-2008 15:52 en respuesta a

    • Onir
    • Contribuyente Top 50
    • Se unió el 12-24-2006
    • Madrid
    • Envíos: 23
    • Puntos: 190
    • DotNetClub_Miembros

    Re: WPF: Viewport2DVisual3D - Este elemento Freezable no se puede inmovilizar

    Listo, el fallo era ese! :)

    José Ángel Fernández

    Coordinador DotNetClub
    Universidad Politécnica de Madrid
    • Puntos de post: 5
Página 1 de 1 (5 elementos)
(c) DotNetClubs 2008
Ofrecido por Community Server (Commercial Edition)