Silverlight Toolkit (December 2011) for Silverlight 5–What’s new?

The new version of the Silverlight Toolkit (December 2011) for Silverlight 5 is out and you can grab it here:

Update: Babylon Engine now uses Silverlight 5 Toolkit:

I had the pleasure of working on this version and I’m pleased to write this article to help you discover how the Toolkit enhances Silverlight 5 with the following features:

  1. Seamless integration of 3D models and other assets with the Content Pipeline
  2. New Visual Studio templates for creating:
    1. Silverlight 3D Application
    2. Silverlight 3D Library
    3. Silverlight Effect
  3. New samples to demo these features

Seamless integration with the Content Pipeline

The toolkit comes with a new assembly : Microsoft.Xna.Framework.Content.dll. This assembly allows you to load assets from the .xnb file format (produced by the Content Pipeline).

Using the new Visual Studio templates (which I will describe later), you can now easily port existing 3D projects directly to Silverlight 5!

Microsoft.Xna.Framework.Content.dll assembly will add the following classes to Silverlight 5:

  • ContentManager
  • Model
  • SpriteFont and SpriteBatch

The toolkit comes also with the Microsoft.Xna.Framework.Tookit.dll assembly which will add the following classes to Silverlight 5:

  • SilverlightEffect
  • Mouse, MouseState
  • Keyboard, KeyboardState


The documentation for this class can be found here:

The ContentManager class is the representative for the Content Pipeline inside your code. It is responsible for loading objects from .xnb files.

To create a ContentManager you just have to call the following code:

  1. ContentManager contentManager = new ContentManager(null, “Content”);

There are restrictions for this class : *The ContentManager for Silverlight can only support one Content project and the RootDirectory must be set to “Content”*

Using it is really simple because it provides a simple Load method which can be used to create your objects:

  1. // Load fonts
  2. hudFont = contentManager.Load<SpriteFont>(“Fonts/Hud”);
  4. // Load overlay textures
  5. winOverlay = contentManager.Load<Texture2D>(“Overlays/you_win”);
  7. // Music
  8. backgroundMusic = contentManager.Load<SoundEffect>(“Sounds/Music”);


The documentation for this class can be found here:

The model class has the same API as in XNA 4 and it will allow you to load and render 3D models from XNB files:

  1. // Draw the model.
  2. Model tankModel = content.Load<Model>(“tank”);
  3. tankModel.Draw();

You can also use bones if your model supports them:

  1. Model tankModel = content.Load<Model>(“tank”);
  2. tankModel.Root.Transform = world;
  3. tankModel.CopyAbsoluteBoneTransformsTo(boneTransforms);
  5. // Draw the model.
  6. foreach (ModelMesh mesh in tankModel.Meshes)
  7. {
  8.     foreach (BasicEffect effect in mesh.Effects)
  9.     {
  10.         effect.World = boneTransforms[mesh.ParentBone.Index];
  11.         effect.View = view;
  12.         effect.Projection = projection;
  14.         effect.EnableDefaultLighting();
  15.     }
  17.     mesh.Draw();
  18. }

You can import models using .x or .fbx format:


And thanks to the FBX importer, you can also import .3ds, .obj, .dxf and even Collada.

SpriteFont & SpriteBatch

The documentation for these classes can be found here:

The SpriteBatch class is used to display 2D textures on top of the render. You can use them for displaying a UI or sprites.

  1. SpriteBatch spriteBatch = new SpriteBatch(graphicsDevice);
  3. spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.Opaque);
  5. spriteBatch.Draw(texture, new Rectangle(0, 0, width, height), Color.White);
  7. spriteBatch.End();

As you can see, SpriteBatch only needs a texture to display.

SpriteFont allows you to use sprites to display text.

  1. SpriteFont hudFont = contentManager.Load<SpriteFont>(“Fonts/Hud”);
  2. spriteBatch.DrawString(hudFont, value, position + new Vector2(1.0f, 1.0f), Color.Black);
  3. spriteBatch.DrawString(hudFont, value, position, color);

SpriteFont relies on SpriteBatch to draw and needs a font definition from the ContentManager:



The toolkit introduces a new class called SilverlightEffect which can be used to apply .fx files.

It also support .slfx which is the default extension. There is no difference between .slfx and .fx but as XNA Effect Processor is already associated with .fx, the Silverlight Content Pipeline had to select another one.

You can now define a complete effect inside a Content project and use it for rendering your models.

To do so:

  • Create a .fx file with a least one technique
  • Shader entry points must be parameterless
  • Define render states

For example here is a simple .fx file:

  1. float4x4 WorldViewProjection;
  2. float4x4 World;
  3. float3 LightPosition;
  5. // Structs
  6. struct VS_INPUT
  7. {
  8.     float4 position                : POSITION;
  9.     float3 normal                : NORMAL;
  10.     float4 color                : COLOR0;
  11. };
  13. struct VS_OUTPUT
  14. {
  15.     float4 position                : POSITION;
  16.     float3 normalWorld            : TEXCOORD0;
  17.     float3 positionWorld        : TEXCOORD1;
  18.     float4 color                : COLOR0;       
  19. };
  21. // Vertex Shader
  23. {
  24.     VS_OUTPUT Out = (VS_OUTPUT)0;
  26.     // Compute projected position
  27.     Out.position = mul(In.position, WorldViewProjection);
  29.     // Compute world normal
  30.     Out.normalWorld = mul(In.normal,(float3x3) WorldViewProjection);
  32.     // Compute world position
  33.     Out.positionWorld = (mul(In.position, World)).xyz;
  35.     // Transmit vertex color
  36.     Out.color = In.color;
  38.     return Out;
  39. }
  41. // Pixel Shader
  42. float4 mainPS(VS_OUTPUT In) : COLOR
  43. {
  44.     // Light equation
  45.     float3 lightDirectionW = normalize(LightPosition – In.positionWorld);
  46.     float ndl = max(0, dot(In.normalWorld, lightDirectionW));
  48.     // Final color
  49.     return float4(In.color.rgb * ndl, 1);
  50. }
  52. // Technique
  53. technique MainTechnique
  54. {
  55.     pass P0
  56.     {
  57.         VertexShader = compile vs_2_0 mainVS(); // Must be a non-parameter entry point
  58.         PixelShader = compile ps_2_0 mainPS(); // Must be a non-parameter entry point
  59.     }
  60. }

The Toolkit will add required processors to the Content Pipeline in order to create the .xnb file for this effect:


To use this effect, you just have to instantiate a new SilverlightEffect inside your code:

  1. mySilverlightEffect = scene.ContentManager.Load<SilverlightEffect>(“CustomEffect”);

Then, you can retrieve effect’s parameters:

  1. worldViewProjectionParameter = mySilverlightEffect.Parameters[“WorldViewProjection”];
  2. worldParameter = mySilverlightEffect.Parameters[“World”];
  3. lightPositionParameter = mySilverlightEffect.Parameters[“LightPosition”];

To render an object with your effect, it is the same code as in XNA 4:

  1. worldParameter.SetValue(Matrix.CreateTranslation(1, 1, 1));
  2. worldViewProjectionParameter.SetValue(WorldViewProjection);
  3. lightPositionParameter.SetValue(LightPosition);
  4. foreach (var pass in mySilverlightEffect.CurrentTechnique.Passes)
  5. {
  6.     // Apply pass
  7.     pass.Apply();
  9.     // Set vertex buffer and index buffer
  10.     graphicsDevice.SetVertexBuffer(vertexBuffer);
  11.     graphicsDevice.Indices = indexBuffer;
  13.     // The shaders are already set so we can draw primitives
  14.     graphicsDevice.DrawIndexedPrimitives(PrimitiveType.TriangleList, 0, 0, VerticesCount, 0, FaceCount);
  15. }

Texture2D, TextureCube & SoundEffect

Silverlight 5 provides Texture2D, TextureCube and SoundEffect classes. With the Toolkit, you will be able to load them from the ContentManager:

  1. // Load overlay textures
  2. winOverlay = contentManager.Load<Texture2D>(“Overlays/you_win”);
  4. // Music
  5. backgroundMusic = contentManager.Load<SoundEffect>(“Sounds/Music”);

Mouse and Keyboard

In order to facilitate porting existing 3D applications and to accommodate polling input application models, we also added partial support for Microsoft.Xna.Framework.Input namespace.

So you will be able to request MouseState and KeyboardState everywhere you want:

  1. public MainPage()
  2. {
  3.     InitializeComponent();
  5.     Mouse.RootControl = this;
  6.     Keyboard.RootControl = this;
  7. }

However, there is a slight difference from original XNA on other endpoints: you have to register the root control which will provide the events for Mouse and Keyboard. The MouseState positions will be relative to the upper left corner of this control:

  1. private void myDrawingSurface_Draw(object sender, DrawEventArgs e)
  2. {
  3.     // Render scene
  4.     scene.Draw();
  6.     // Let’s go for another turn!
  7.     e.InvalidateSurface();
  9.     // Get mouse and keyboard state
  10.     MouseState mouseState = Mouse.GetState();
  11.     KeyboardState keyboardState = Keyboard.GetState();
  13.     …
  14. }

The MouseState and KeyboardState are similar to XNA versions:


Silverlight Content Pipeline can be extended the same way as the XNA Content Pipeline on other endpoints. You can provide your own implementation for loading assets from elsewhere than the embedded .xnb files.

For example you can write a class that will stream .xnb from the network. To do so, you have to  inherit from ContentManager and provide your own implementation for OpenStream:

  1. public class MyContentManager : ContentManager
  2. {
  3.     public MyContentManager() : base(null)
  4.     {
  6.     }
  8.     protected override System.IO.Stream OpenStream(string assetName)
  9.     {           
  10.         return base.OpenStream(assetName);
  11.     }
  12. }

You can also provide our own type reader. Here is for example the custom type reader for SilverlightEffect:

  1. /// <summary>
  2. /// Read SilverlightEffect.
  3. /// </summary>
  4. public class SilverlightEffectReader : ContentTypeReader<SilverlightEffect>
  5. {
  6.     /// <summary>
  7.     /// Read and create a SilverlightEffect
  8.     /// </summary>
  9.     protected override SilverlightEffect Read(ContentReader input, SilverlightEffect existingInstance)
  10.     {
  11.         int techniquesCount = input.ReadInt32();
  12.         EffectTechnique[] techniques = new EffectTechnique[techniquesCount];
  14.         for (int techniqueIndex = 0; techniqueIndex < techniquesCount; techniqueIndex++)
  15.         {
  16.             int passesCount = input.ReadInt32();
  17.             EffectPass[] passes = new EffectPass[passesCount];
  19.             for (int passIndex = 0; passIndex < passesCount; passIndex++)
  20.             {
  21.                 string passName = input.ReadString();
  23.                 // Vertex shader
  24.                 int vertexShaderByteCodeLength = input.ReadInt32();
  25.                 byte[] vertexShaderByteCode = input.ReadBytes(vertexShaderByteCodeLength);
  26.                 int vertexShaderParametersLength = input.ReadInt32();
  27.                 byte[] vertexShaderParameters = input.ReadBytes(vertexShaderParametersLength);
  29.                 // Pixel shader
  30.                 int pixelShaderByteCodeLength = input.ReadInt32();
  31.                 byte[] pixelShaderByteCode = input.ReadBytes(pixelShaderByteCodeLength);
  32.                 int pixelShaderParametersLength = input.ReadInt32();
  33.                 byte[] pixelShaderParameters = input.ReadBytes(pixelShaderParametersLength);
  35.                 MemoryStream vertexShaderCodeStream = new MemoryStream(vertexShaderByteCode);
  36.                 MemoryStream pixelShaderCodeStream = new MemoryStream(pixelShaderByteCode);
  37.                 MemoryStream vertexShaderParametersStream = new MemoryStream(vertexShaderParameters);
  38.                 MemoryStream pixelShaderParametersStream = new MemoryStream(pixelShaderParameters);
  40.                 // Instanciate pass
  41.                 SilverlightEffectPass currentPass = new SilverlightEffectPass(passName, GraphicsDeviceManager.Current.GraphicsDevice, vertexShaderCodeStream, pixelShaderCodeStream, vertexShaderParametersStream, pixelShaderParametersStream);
  42.                 passes[passIndex] = currentPass;
  44.                 vertexShaderCodeStream.Dispose();
  45.                 pixelShaderCodeStream.Dispose();
  46.                 vertexShaderParametersStream.Dispose();
  47.                 pixelShaderParametersStream.Dispose();
  49.                 // Render states
  50.                 int renderStatesCount = input.ReadInt32();
  52.                 for (int renderStateIndex = 0; renderStateIndex < renderStatesCount; renderStateIndex++)
  53.                 {
  54.                     currentPass.AppendState(input.ReadString(), input.ReadString());
  55.                 }
  56.             }
  58.             // Instanciate technique
  59.             techniques[techniqueIndex] = new EffectTechnique(passes);
  60.         }
  62.         return new SilverlightEffect(techniques);
  63.     }
  64. }


New Visual Studio templates

The toolkit will install two new project templates and a new item template:


This template will produce a full working Silverlight 3D application.


The new solution will be composed of 4 projects:

  • Silverlight3DApp : The main project
  • Silverlight3DAppContent : The content project attached with the main project
  • Silverlight3DWeb : The web site that will display the main project
  • Silverlight3DWebContent : A content project attached to the website if you want to stream your .xnb from the website instead of using embedded ones. This will allow you distribute a smaller .xap.


The main project (Silverlight3DApp) is built around two objects:

  • A sceneobject which
    • Create the ContentManager
    • Handle the DrawingSurface Draw event
  • A cubeobject
    • Create a vertex buffer and index buffer
    • Use the ContentManager to retrieve a SilverlightEffect (Customeffect.slfx) from the content project
    • Configure and use the SilverlightEffect to render



This template will produce a Silverlight Library without any content but with all Microsoft.Xna.Framework references set:


And the resulting project will look like:



This item template can be used inside a Content project to add a custom .slfx file that will work with SilverlightEffect class:


The file content will be the following:

  1. float4x4 World;
  2. float4x4 View;
  3. float4x4 Projection;
  5. // TODO: add effect parameters here.
  7. struct VertexShaderInput
  8. {
  9.     float4 Position : POSITION0;
  11.     // TODO: add input channels such as texture
  12.     // coordinates and vertex colors here.
  13. };
  15. struct VertexShaderOutput
  16. {
  17.     float4 Position : POSITION0;
  19.     // TODO: add vertex shader outputs such as colors and texture
  20.     // coordinates here. These values will automatically be interpolated
  21.     // over the triangle, and provided as input to your pixel shader.
  22. };
  24. VertexShaderOutput VertexShaderFunction(VertexShaderInput input)
  25. {
  26.     VertexShaderOutput output;
  28.     float4 worldPosition = mul(input.Position, World);
  29.     float4 viewPosition = mul(worldPosition, View);
  30.     output.Position = mul(viewPosition, Projection);
  32.     // TODO: add your vertex shader code here.
  34.     return output;
  35. }
  37. float4 PixelShaderFunction(VertexShaderOutput input) : COLOR0
  38. {
  39.     // TODO: add your pixel shader code here.
  41.     return float4(1, 0, 0, 1);
  42. }
  44. technique Technique1
  45. {
  46.     pass Pass1
  47.     {
  48.         // TODO: set renderstates here.
  50.         VertexShader = compile vs_2_0 VertexShaderFunction();
  51.         PixelShader = compile ps_2_0 PixelShaderFunction();
  52.     }
  53. }

New samples to demo these features

Finally, to help you discover and learn all these features, we added some cools samples:


This sample shows you how to use sprites to accomplish post-processing effects such as “bloom”. It also uses the Content Pipeline to import a tank model from a .fbx file.



This sample shows you how custom effects can be applied to a model using the Content Pipeline.


Generated geometry

This sample shows how 3D models can be generated by code during the Content Pipeline build process.



This sample introduces the concept of a particle system, and shows how to draw particle effects using SpriteBatch. Two particle effects are demonstrated: an explosion and a rising plume of smoke:



This sample provides easily reusable code for drawing basic geometric primitives:



This sample is a complete game with 3 levels provided (you can easily add yours). It shows the usage of SpriteBatch, SpriteFont and SoundEffect inside a platform game. It also uses Keyboard class to control the player.



This sample shows how to apply program controlled rigid body animation to a 3D model loaded with the ContentManager:



This sample shows how to process and render a skinned character model using the Content Pipeline.



    As you noticed, all these new additions to the Silverlight Toolkit are made to make it easy to get started with new Silverlight 3D features by providing developer tools to improve usability and productivity.

    You can now easily start a new project that leverages both concepts of XNA and Silverlight. It becomes easy to work with 3D concepts and resources like shaders, model, sprites, effects, etc…

    We also try to reduce the effort to port existing 3D applications to Silverlight.

    So now it’s up to you to discover the wonderful world of 3D using Silverlight 5!

    Comments (69)

    1. davrous says:

      Awesome work! Congrats!

    2. Valentin Billotte says:

      So greaaat !

    3. DataArtist says:

      Thanks! Nice jump start.

    4. Simon says:

      Ca poutre !

      On a du taff sur BabylonToolkit, un bon gros nettoyage a faire ^^ :)

    5. Ruben says:

      Nice Work… Thanks

    6. stw says:

      Will Silverlight 5 3D work on a Mac?

    7. Marcin Stypulski says:

      Thanks !!

    8. Michael says:

      I see the download on Codeplex but why is there no source checked in for this release?

    9. Hi! Sources are included in the installation.

    10. Darks1de says:

      Fantastic article and real depth with the conversion of all those samples.

      Now all we need is a Silverlight 5 section on the App Hub and it's rock'in :D.

      With the wake that is Windows 8 XNA needs to keep it's presence know.

    11. Alejandro says:

      I see a lot of XNA related samples, however can someone confirm this?

      Will I still be able to draw silverlight controls through the XNA path of things? As in the current Silverlight + XNA implementation for WP7?

      (i.e. do all UI and Menu Logic in XAML, do all 3D with XNA).


    12. Yes you can;). Silverlight uses an elegant pattern that allows you to display 3D with DrawingSurface while using Xaml for your UI

    13. coal says:

      No vb templates???

    14. David Ceron says:

      I've installed the toolkit, but when I create a new Silverlight3D project, VS can't find the Content projects. Also, when I look into the Content projects Folders, I don't see any files. The other two projects load fine. Any ideas?

    15. You must install xna game studio 4

    16. Burton Radons says:

      It seems that this release may have broken binary compatibility with anything that's already been written, such as described on this thread:…/1

      David, could you confirm whether or not the toolkit may have done this? We're thinking of things like moving System.Windows.Controls.DrawingSurface from the System.Windows assembly to System.Windows.Xna. I mean, that's a good change, it makes things better, it's just confusing that it happened without telling anyone.

    17. Hi!

      It is not related to Silverlight 5 Toolkit but to Silverlight 5 RC as stated in this post:…/silverlight-5-rc-what-s-new-in-the-3d-world.aspx

      We made a lot of API renaming between SL5 beta and SL5 RC especially for 3D part.


    18. Burton Radons says:

      Ah-hah, thank you. I'd only installed Silverlight 5 yesterday, so I didn't know there even was an RC between April and now. I guess everybody was waiting for the toolkit to update. :)

    19. David says:

      After installing the Silverlight 5 Toolkit, I tried creating a project, but VS could not find the Content projects. Any ideas?

    20. Yes, you have to install XNA Game Studio 4 first

    21. Simon says:

      Hello, where are those samples located? thank you.

    22. Just install the toolkit and the samples will be located in the "Samples" folder.

    23. OlManMarc says:

      Hi David,

      Great step ahead, Tnx man!


    24. Mike says:

      Where on earth is this "Samples" folder? I've looked all over and I can't find it. Tried uninstalled/reinstalling/repairing the toolkit msi too, and that doesn't say where stuff gets installed either :( Help? Thanks!

    25. Mike says:

      Never mind, finally found the Samples folder. For anyone else who's stumped:

      C:Program Files (x86)Microsoft SDKsSilverlightv5.0ToolkitSep11Source

    26. Along says:

      Whether ContentManager can support stream mode? after all Silverlight is based on Web, numerous models of resources through webclient asynchronous Download!!!

    27. Along says:

      Whether Silverlight5 can support shader3.0? the impact on the performance of large

    28. ContentManager is not sealed so you can inherit from it (see the extensibility part on this article). By the way, stream mode is hard to implement as the ContentManager must return an object synchronously.

      But you can return your own class which will handle the stream. But natively nothing is supported for now

    29. Silverlight 5 doesn't support SM3.0 :(

    30. Along says:


      Stream way really troublesome, but at least have one ways of processing,

      And hope to have a higher version of shader with silverlight in the future:)

    31. Along says:

      As long as Microsoft intentions to do, Silverlight will dominate the web 3D in the future, we are looking forward to the arrival of this day:)

    32. ErricWan says:

      How to Set HiDef model? I can't find it from Projiect property panel:(

    33. You cannot. SL5 only supports reach mode

    34. przemo_li says:

      Great! 3D on the web…

      but wait, didn't you said that acces to 3D acceleration is too much risk? Hmm…

      Oh I remember its that ugly WebGL that was insecure!!

      So what did you done with SLXNA to harden it? What have changed in GPU drivers that you offer this solution? etc.

      Had SLXNA gone through security scrutiny process (the same as you did for WebGL)?

    35. przemo_li says:

      Probably low supported SM and reach-mode-only are consequences of supporting mobile GPUs which can be found in WP7.

      (correct me if I'm wrong, I'm just using analogy to WebGL here)

    36. the main reason is portabilty accross the web (a lot of different PC can be found^^)

    37. przemo_li says:

      "the main reason is portabilty accross the web"

      Web is not only about Windows, you know ;)

      Eg. Mac OSX (MS did prime job with SL plugin for MacOSX, but not SL5), Linux, iOS, Android, WP7…

      Will WP7 get SL with XNA on it? Or is SL-XNA unique to traditional Windows?

    38. I mean "the web where sl5 works :)" and except for the 3D and Interop part, SL5 works very well on MacOsX

      WP7 already has support for XNA since Mango update

    39. przemo_li says:


      WP7 have support for XNA but with stock-only shaders. Are those shaders included in SL5XNA? (So apps that work in WP7 can be readily ported to SL5XNA) Or XNA on WP7 be expanded to support also custom shaders?

    40. Yes WP7 supports stock-only shaders for now.

      I'm not able to talk about custom shaders for WP7 at the moment :)

    41. przemo_li says:

      Any way great job!

      Competition is never bad.

    42. Chris says:

      I'm a bit stumped about why you added all this 3D stuff but then disabled it from a general user's point of view?  The fact that you have to jump through hoops to get the user to enable 3D for the web site means it just can't be used at all.  So why go to the effort of doing all this work but then not enable it?  Totally confused.

    43. horeaper says:

      I have installed XNA 4 refresh and dec11 toolkit side by side, but I still can't found the 3D templates anywhere.

      Any ideas?

    44. Which version of vs2010 do you use?

    45. horeaper says:

      VS2010 SP1 Pro, Version 10.0.40219.1.SP1Rel

      But never mind, installed those templates manually (by using /installvstemplates)

    46. Nish Diwakar says:

      Just what doctor ordered

    47. faisal says:

      i have installed sl5 toolkit but Silverlight 3D templates is not there

      plz someone tell me why it happening to me???


    48. Jonney says:

      We are badly in need of GraphicsDevice.DrawInstancedPrimitives to improve performance~:(

    49. Arun says:

      I have installed sdk, toolkit in same way how explained above. but not getting 3d templates in vs2010 ultimate version and i have xna framework installed. please help.

    50. Wikey says:

      I draw 100 the same dude spirit, only 5 FPS frame, how to improve performance?

      and I found Xen with xna, Can do it with 22 FPS frame yet:(

    51. Wikey says:


      graphicsDevice.SetVertexShaderConstantFloat4<T>(startRegister, 0, ref data)

      graphicsDevice.SetPixelShaderConstantFloat4<T>(startRegister, 0, ref data);

      I'm not sure,  just feel the things performance seems to have problems, as XNA their own good?

    52. sanjeev says:

      now we use 3d application in our web application. Thanks a lot!

    53. Danny says:

      Does silverlight 5 support .bhd files, exported from 3d studio? im wanting to use a kinect for motion capture then import into silverlight for animations? realistic?

    54. Hello, alas no, SL5 does not support bhd

    55. Jens Lewald says:

      Does Silverlight 5 3D works on MAC OS X.

      Can we use XNA functions in a Silverlight Project ( we msut support MAC OS X and Windows) ?

    56. Alas SL53D only works on Windows

    57. Tokar says:

      Can you say a little bit more about how to import dxf files?

    58. You just have to drag'n'drop your dxf file in a content project

    59. Pooya Eimandar says:

      Hi…Any idea about 3D Permission…It is really not user friendly…i hope in new version it will.

    60. andol says:

      is there any possibility to download these demonstrative demos?

    61. @Andol : all these demos are part of the Silverlight 5 toolkit

    62. Vicprepr says:


      I have installed Silverlight 5 SDK and Silverlight 5 Toolkit December 2011 and when I go to "Add, New Project" I have no test project template and templates to 3D projects. Do I need install something else?

      Thanks in advance.

    63. Sipun says:

      installeded silverlight 5 toolkit december 2011. installed xna game studio. Now I m using VS 2013 express desktop version. I can't see any template for Silverlight 3D or any other silverlight template (except 'silverlight app with Catel'). Can you help with this ?