Splash Screen In Silverlight 3 Application

No.of Views1101
Bookmarked0 times
Downloads 
Votes0
By  dpatra   On  16 Feb 2010 00:02:01
Tag : Silver Light and XAML , How to
Splash Screen In Silverlight 3 Application
emailbookmarkadd commentsprint

Images in this article missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at info@codegain.com

 

Introduction


In this article we will discuss about the Splash Screen in Silverlight 3.
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:


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


2) Copyright Information


3) Custom Animation.


Crating Silverlight Project


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

Image Loading....

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.

Image Loading....

Add the following xaml code into it.

Image Loading....

{codecitation class="brush: xml; gutter: true;" width="650px"}

<Grid xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel VerticalAlignment="Center">
<Grid>
<Rectangle x:Name="progressBarBackground" Fill="White" Stroke="Black" StrokeThickness="1" Height="30" Width="200"></Rectangle>
<Rectangle x:Name="progressBar" Fill="Yellow" Height="28" Width="0"></Rectangle>
</Grid>
<TextBlock x:Name="progressText" HorizontalAlignment="Center" Text="0% downloaded ..."></TextBlock>
</StackPanel>
</Grid>


{/codecitation}

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:

{codecitation class="brush: javascript; gutter: true;" width="650px"}

<script type="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>


{/codecitation}

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.

{codecitation class="brush: xml; gutter: true;" width="650px"}

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/SplashScreenInSL3.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="3.0.40624.0" />
<param name="autoUpgrade" value="true" />
<param name="splashscreensource" value="MySplashScreen.xaml" />
<param name="onsourcedownloadprogresschanged" value="onSourceDownloadProgressChanged" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>
</a>
</object>

{/codecitation}

That’s it run your application to test your Splash Screen. If you still don’t see your Splash Screen that is because your page is loading in 500 milli seconds. To see the splash screen build your sample application and this time you will be able to see it.

Image Loading....

Remember this is a sample Splash Screen. You can make your own Splash Screen.
Enjoy Coding.

Thank you


About the Author


Diptimaya Patra

Description :I am a Master in Computer Application (MCA) from SRM University, Chennai. I am MCTS in ASP.Net Web Development, and MOSS 2007 Administration. I have extreme exposure to Microsoft Technologies in recent times like Silverlight 2, Silverlight 3. I am from Cuttack, Orissa. You can reach me using this mail (diptimaya.patra@gmail.com). Currently I am working as a Software Engineer in UST Global Inc in Trivandrum Center.

Occupation :Software Engineer
Company : UST Global.
Location : India
Follow me at twitter : http://twitter.com/dpatra


 
Sign Up to vote for this article
 
About Author
 
dpatra
Occupation-Not Provided
Company-Not Provided
Member Type-Expert
Location-Not Provided
Joined date-13 Jul 2009
Home Page-Not Provided
Blog Page-Not Provided
 
 
Other popularSectionarticles
Comments
There is no comments for this articles.
Leave a Reply
Title:
Display Name:
Email:
(not display in page for the security purphase)
Website:
Message:
Please refresh your screen using Ctrl+F5
If you can't read this number refresh your screen
Please input the anti-spam code that you can read in the image.
^ Scroll to Top