UIElement.Projection solo en Silverlight y no en WPF?

Descargué un código de muestra desde aquí:http: //gallery.expression.microsoft.com/ShowHideWithFli

Ahora mi problema es que estoy usando WPF y el tipo está usando Silverlight ..

Pensé que ambos estaban usando .NET 4, pero descubrí que hay ".NET 4" y hay ".NET para Silverlight" para las cosas diferentes ..

recibo este error:

'System.Windows.UIElement' does not contain a definition for 'Projection' and no   extension method 'Projection' accepting a first argument of type 'System.Windows.UIElement' could be found (are you missing a using directive or an assembly reference?)

Acabo de descubrir por qué, el tipo está usando .NET para Silverlight y yo estoy usando .NET 4.

Silverlight:http: //msdn.microsoft.com/en-us/library/system.windows.uielement (v = VS.95) .aspx

.NET 4:http: //msdn.microsoft.com/en-us/library/system.windows.uielement.asp

¿Hay una solución para esto?

Pensé que WPF y Silverlight son lo mismo http: //msdn.microsoft.com/en-us/library/ff921107 (v = pandp.20) .aspx )

Acabo de encontrar esto:http: //social.msdn.microsoft.com/Forums/en/wpf/thread/9acb712a-b592-49e7-83a1-e3ee7ff0301

Este es mi problema pero no puedo entender cómo usar ViewPort3D. Aquí está la parte del código:

        if (showElement.Projection == null)
        {
            showElement.Projection = new PlaneProjection();
            showElement.RenderTransformOrigin = new Point(.5, .5);
        }

        if (hideElement.Projection == null)
        {
            hideElement.Projection = new PlaneProjection();
            hideElement.RenderTransformOrigin = new Point(.5, .5);
        }

        mainStoryboard = new Storyboard();

        BackEase hide_ease = new BackEase() { EasingMode = EasingMode.EaseOut, Amplitude = 0.2 };

        // Show           
        PlaneProjection showPP = new PlaneProjection();
        CompositeTransform showCT = new CompositeTransform();

Respuestas a la pregunta(1)

Su respuesta a la pregunta