Followers

Subscribe This Blog

Other Tech Posts

If a Silverlight application is small, it will be downloaded quickly and appear in the browser. If a Silverlight application is large, it may take a few seconds to download. As long as your application takes longer than 500 milliseconds to download, Silverlight will show an animated splash screen.
Splash Screens can be used for the following purposes:

To show the Progress of downloading the xap file. (By Default)

Copyright Information

Custom Animation.

Crating Silverlight Project

Fire up Visual Studio 2008 and create a Silverlight Application. Name it as SplashScreenInSL3.

The built in Splash Screen is not that exciting. It simply displays a ring of blinking circles and the percentage of the application that's been downloaded so far.

If you don't like the stock splash screen, you can easily create your own. Essentially, a custom splash screen is a XAML file with the graphical content you want to display, and a dash of JavaScript code that updates the splash screen as the application is downloaded.

Add a new XAML file to your ASP.NET website (not the Silverlight project).

Choose the Silverlight JScript page template, enter a name, and click Add. This XAML file will hold the markup for your splash screen.

Add the following xaml code into it.

<Gridxmlns="http://schemas.microsoft.com/client/2007"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <StackPanelVerticalAlignment="Center"> <Grid>
<Rectanglex:Name="progressBarBackground"Fill="White"Stroke="Black"StrokeThickness="1"Height="30"Width="200"></Rectangle> <Rectanglex:Name="progressBar"Fill="Yellow"Height="28"Width="0"></Rectangle> </Grid>
<TextBlockx:Name="progressText"HorizontalAlignment="Center"Text="0% downloaded ..."></TextBlock> </StackPanel></Grid>
Next, you need to add a JavaScript function to your ASPX entry page or ASP.NET test page. (If you plan on using both, place the JavaScript function in a separate file and then link to it in both files using the source attribute of the script block.) The JavaScript code can look up named elements on the page using the sender.findName() method, and manipulate their properties. It can also determine the current progress using the eventArgs.progress property. In this example, the event handling code simply updates the text and widens the progress bar based on the current progress percentage:

<scripttype="text/javascript">function onSourceDownloadProgressChanged(sender, eventArgs) {
sender.findName("progressText").Text = Math.round((eventArgs.progress * 100)) + "% downloaded ...";
sender.findName("progressBar").Width = eventArgs.progress * sender.findName("progressBarBackground").Width;
}</script>
To use this splash screen, you need to add the splashscreensource parameter to identify your XAML splash screen and the onsourcedownloadprogresschanged parameter to hook up your JavaScript event handler. If you want to react when the download is finished, you can hook up a different JavaScript event handler using the onsourcedownloadcomplete parameter.