Getting Started with XAML

Before proceed reading the Telerik UI for Silverlight documentation we recommend that you check the fundamental concepts of Silverlight. This article contains basic information about the Silverlight framework and tells you where to find relevant information about its features.


Microsoft Silverlight is a cross-browser, cross-platform implementation of the .NET Framework for building and delivering rich interactive applications (RIA) for the Web. It also helps you create applications that run outside browser on your desktop.

For more information, see the Silverlight Overview MSDN article.

The following sections describe the most basic features of the Silverlight framework.

XAML (Extensible Application Markup Language)

Extensible Application Markup Language (XAML) is an XML-based markup language that is used to construct the visual appearance of an application. XAML to Silverlight what HTML is to web. You can find details on XAML concepts and how to use the language in your applications in the XAML Overview MSDN article.

Assemblies and Namespaces in .NET

  • Assemblies: An assembly is a collection of types and resources that are built to work together as a logical unit of functionality. All types in the .NET Framework must exist in assemblies; the common language runtime (CLR) does not support types outside assemblies. For more information, see the Assemblies in the Common Language Runtime MSDN article.

  • Namespaces: The namespace keyword is used to declare a scope. Namespaces are a second organizational method that complements assemblies. Namespaces are a way of grouping type names reducing the chance of name collisions. A namespace can contain other namespaces and types. The full name of a type includes the combination of namespaces that contain that type. For more information, see the Namespaces (C# Programming Guide) MSDN article.


The base class library in Silverlight is a subset of the larger .NET Framework class library. It includes the base data types, such as strings and integers. It also includes such diverse types as type conversion classes, exception classes, collection and container classes, events and event handlers, and threading and synchronization classes. For more information, see the Events Overview MSDN article.

Attached Properties

An attached property is used as a type of global property that can be set on any object. For more information, see the Attached Properties Overview MSDN article.

Collections and Data Structures

Detailed information on this topic can be found in the Collections and Data Structures MSDN article.

Data Binding

Data binding is the process that establishes a connection between the application UI and the business logic. It provides a simple and consistent way for applications to present and interact with data. Elements can be bound to data from a variety of data sources in the form of common language runtime objects and XML. For more information, see the Data Binding MSDN article.

Binding Collections

A binding source object can be treated as a data collection of objects that are often grouped together (such as the result of a query to a database). You can enumerate over any collection that implements the IEnumerable interface. However, to set up dynamic bindings so that insertions or deletions in the collection update the UI automatically, the collection must implement the INotifyCollectionChanged interface. This interface exposes an event, that should be raised whenever the underlying collection changes. Silverlight provides a built-in implementation of a data collection that implements the INotifyCollectionChanged interface — the ObservableCollection<T>) class.

Data Conversion

With the help of IValueConverter, you can apply custom logic to a binding. The converter allows you to convert the value of the bound property to another value or to even another type. For more information and an example, see the IValueConverter Interface MSDN article.


The Silverlight framework supports a commanding input mechanism whose purpose is to separate the logic that executes the command from the object that invokes the command. The most common use of commands is the avoid using events and code-behind. Instead, the command and its logic are defined in the view model and then bound to the visual element in the UI. For more information, see the ICommandInterface MSDN article and the Command Support article.

Styles and Templates

Silverlight styling and templating refer to a suite of features that allows an application to create visually compelling applications in a standardized way. With Silverlight you can use styles and templates in order to customize control behavior and appearance. For more information, see the Styles and Templates MSDN article.

Data Templates

Silverlight has built-in support for customizing data presentation. Its data templating model provides great flexibility. For more information, see the Styles and Templates MSDN article.

Style Selectors

The style selector provides a way to apply different styles based on custom logic. For more information, see the StyleSelector Class MSDN article.

Data Template Selectors

The data template selector enables you to choose different DataTemplate based on the data object and the data-bound element. For more information, see the DataTemplateSelector Class MSDN article.

See Also

In this article