Silverlight Interview Questions Answers

What is XAML ?

Extensible Application Markup Language (XAML, pronounced zammel) is a declarative XML-based language created by Microsoft which is used to initialize structured values and objects.

What is the difference between WPF and Silverlight?

Silverlight uses a particular implementation of a XAML parser, with that parser being part of the Silverlight core install. In some cases, the parsing behavior differs from the parsing behavior in Windows Presentation Foundation (WPF), which also has a particular implementation.

Can you name built-in layout panels you have been using with Silverlight?

You are looking for Canvas, StackPanel and Grid

What is Storyboard?

Storyboard is a Silverlight class with controls animations with a timeline, and provides object and property targeting information for its child animations

Given XAML below

Code:

<Canvas>
<Ellipse x:Name="ellipseTest" Height="20" Width="20" Canvas.Left="0" Canvas.Top="10" />
</Canvas>

How can you set image Source dynamically from C# application to” test.png” file?

Surprisingly it is not as straight forward as it might sound, but anyone who seriously worked with Silverlight should be easily answer it.

One of the ways is:

Code:

img.Source = new BitmapImage(new Uri("test.png", UriKind.Relative));

Given XAML below

Code:

<Canvas>
< Rectangle x:Name="test" Height="20" Width="20" Canvas.Left="0" Canvas.Top="10" />
</Canvas>

How to perform Event handling in silver light?.

Silverlight 1.0 uses JavaScript, while Silverlight 2.0 uses C# (managed code) for event handling. We will be describing the event model for Silverlight 2.0.

The event handlers are defined in the code-behind file that backs the XAML definition of your User Interface (UI), namely mypage.xaml.cs.

The Silverlight Event Mode

In Silverlight, there are two event cases:

1- Input events

2- Non-input events.

Input Events: The browser that hosts the Silverlight plug-in handles initial input stimulus for the input events. This is because Silverlight works within the plug-in architecture of the hosting browser. From the browser, the event is sent to the Silverlight plug-in.

Then, it is raised as an event in the Silverlight Object Model.

Non-input Events: They report a state change to a particular object, for example, the state change events that report asynchronous download state or progress of actions initiated by Web Client. Some non-input events provide lifetime information of objects at a framework level.

For example the FrameworkElement.Loaded event.

Some events, such as OnError, can only be handled by the Silverlight plug-in instance and exist within the HTML Document Object Model (DOM). These events need to be continually exposed and possibly handled by any script working with the plug-in instance in the DOM.

Therefore; these events are not passed to the managed programming model.

Can we add the reference of a Class library project in Silverlight application project?

No, You can't add the reference of a Class library inside the Silverlight application project. You can only add the reference of another Silverlight application project inside a Silverlight application project.

However, you can add the reference of a Web Service or WCF services.

What is Silverlight.js file?

Silverlight.js is a helper file which enables Web sites to create advanced Silverlight installation and instantiation experiences.

What is the .xap file inside ClientBin folder of consuming Silverlight application?

Following is a very good FAQ about the .xap posted on asp.net page.

Quote:

What does XAP mean?

XAP (pronounced ZAP) is the file extension for a Silverlight-based application package (.xap). This file contains the compressed assemblies and resources of a Silverlight 2 application.

Quote:

What is a .xap file?

A .xap file is a Silverlight-based application package (.xap) that is generated when the Silverlight project is built.

Quote:

Why is XAP important?

Tools, such as Visual Studio 2008 with the Microsoft Silverlight Tools Beta 2 for Visual Studio 2008, allow you to create Silverlight applications that are heavily client based using managed code. You can use managed code, such as C# or Visual Basic, and benefit by using the tools that you are used to working with.

Quote:

How does XAP work?

Once you have created the .xap file (explained below), the Silverlight 2 plug-in downloads the file and runs it in a separate work space.

Quote:

How do I use a .xap file?

A .xap file is used to contain and transfer the assemblies and resources of a managed code application. This managed code application must be run within the Silverlight 2 browser plug-in.

What is the use of ClientBin folder?

ClientBin folder is used to place the .xap file of Silverlight application. You can keep this anywhere in your web application but this is the default that is used by the Silverlight.

What is the parent xaml tag of Silverlight page?

UserControl is the parent xaml tag of the Silverlight page. All other tags are placed under UserControl tag.

Code:

<UserControl x:Class="SilverlightApplication2.MainPage"
xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="400" Height="300"><Grid x:Name="LayoutRoot" Background="White"></Grid></UserControl>

How to change the default page of the Silverlight application?

To change the default page of Silverlight application, you need to set the RootVisual property inside the Application_Startup even of App.xaml file.

Code:

private void Application_Startup(object sender, StartupEventArgs e)
{this.RootVisual = new YourPage();}

When you create a new project in Silverlight through Visual Studio, how many xaml files are created and what are the uses of those files?

When we create a Silverlight application from Visual Studio, two (2) xaml files are created into the Silverlight project.

They are:

1. App.xaml - App.xaml is a file used to declare shared resources like brushes, various style objects etc. and to handle the global application level event (this is almost similar to global.asax file in asp.net application). By default following events are created in the App.xaml.cs file.

Application_Startup

Application_Exit

Application_UnhandledException

ReportErrorToDOM

2. MainPage.xaml or Page.xaml - This page is the default page of the Silverlight application and when the silverlight application runs this becomes the default page to appear (this page is like the default.aspx page of asp.net application)