Merhaba Arkadaşlar;
Silverlight 2.0 daki en büyük eksiklerden biride 3D idi.Fakat Silverlight 3.0 ile birlikte bu sorun ortadan kalkmış durumda.Ama Şuan 3D-Engine desteği yok.
Eğer Kontrollerimize efekti vermek istiyorsak UIElementin Projection özelliğini kullanmak gerektirir.
Örneğin:
<UIElement.Projection>
<PlaneProjection Rotation="Deger"></PlaneProjection>
</UIElement.Projection>
İlk olarak PlaneProjection tipinin özellikleri inceleyelim. PlaneProjection'ın 12 tane özelliği var.
RotationX :Kontrolün dönme merkezinin X koordinatlarında döndürülmesini sağlar.
RotationY :Kontrolün dönme merkezinin Y koordinatlarında döndürülmesini sağlar.
RotationZ :Kontrolün dönme merkezinin Z koordinatlarında döndürülmesini sağlar.
CenterOfRotationX : Nesnenin dönme merkezisi değiştirebiliriz.0-1 arası değer alır.
CenterOfRotationY : : Nesnenin dönme merkezisi değiştirebiliriz.0-1 arası değer alır.
CenterOfRotationZ : : Nesnenin dönme merkezisi değiştirebiliriz.0-1 arası değer alır.
LocalOffsetX : X ekseninde nesne ile Plane(3D alanı) arasındaki mesafeyi belirler.
LocalOffsetY : Yekseninde nesne ile Plane(3D alanı) arasındaki mesafeyi belirler.
LocalOffsetZ : Z ekseninde nesne ile Plane(3D alanı) arasındaki mesafeyi belirler.
GlobalOffsetX : X ekseninde nesne ile ekran arasındaki mesafeyi belirler.
GlobalOffsetY : Y ekseninde nesne ile ekran arasındaki mesafeyi belirler.
GlobalOffsetZ : Z ekseninde nesne ile ekran arasındaki mesafeyi belirler.
Şimdi birkaç özellik kullanarak kontrollerimize efekt verelim..
<Button Height="56" HorizontalAlignment="Left" Margin="66,73,0,0" VerticalAlignment="Top" Width="200" Content="Button">
<Button.Projection>
<PlaneProjection RotationZ="-53" RotationY="56" RotationX="20"/>
</Button.Projection>
</Button>

<Image Source="002.png" Width="150" Height="170">
<Image.Projection>
<PlaneProjection RotationZ="-600" CenterOfRotationX="0.9"></PlaneProjection>
</Image.Projection> </Image>

Uygulamları aşağıdan indirebilirsiniz..
SilverlightApplication10.rar (135,95 kb)