Xaml vs. NoXaml
Telerik UI for Silverlight comes with two types of assemblies - Xaml and NoXaml. This article will describe the difference and help you to choose a version.
Let's start with that both types of dlls contain the same source code. The only difference is that the Xaml assemblies embed also all styles of the controls.
Assemblies location
The Xaml dlls can be found in the Telerik UI for Silverlight installation folder/Binaries/
The NoXaml dlls can be found in the Telerik UI for Silverlight installation folder/Binaries.NoXaml/
Mixing Xaml and NoXaml dlls is not supported. This works, but in some cases leads to visual or design-time issues. Use only one of the versions.
Xaml assemblies
The Xaml dlls contain the same code as the NoXaml ones, but they hold also all the styles and templates of the UI controls, for all themes. This means that they are bigger in size compared to the NoXaml ones.
Using Xaml dlls allows you to set up your project a bit easier and set the controls UI theme very easily by setting a single property. Read more about this in the Setting a Theme article.
Application theme change at run-time is supported only by the NoXaml assemblies and Implicit Styles theming mechanism. With Xaml and StyleManager, you can change the theme only per control during the run-time. This is done via the
StyleManager.Theme
attached property.
NoXaml assemblies
The NoXaml dlls have the same code as the Xaml ones, but they don't contain any styles and templates. This makes them smaller in size compared to Xaml, but they require a bit more effort to set up. You will need to reference an additional theme dll and merge the ResourceDictionaries with the styles for each control dll. Read more about this in the Setting a Theme article.
The benefit of using NoXaml is that you get full design-time support when a theme different from the default one (Office_Black) is used.
Because the NoXaml dlls apply the control styles implicitly, when you create a custom control deriving from a Telerik control you will need to create a custom style and base it on the default control style. For example a control deriving from RadCartesianChart should have a Style that targets the custom control and it is based on RadCartesianChartStyle. The same applies for any custom implicit styles targeting Telerik controls. You need to base them on the default control style, otherwise they will be completely overridden and all setters and templates originally applied to the controls will be lost. You can read more about this in the Styling the Controls article.
How to check the assemblies version
If the project assemblies are referenced from the Telerik UI for Silverlight installation folder, you can easily identify their version by checking their folder. /Binaries/ for the Xaml dlls and /Binaries.NoXaml/ for the NoXaml dlls.
Alternatively, you check the Properties of the Telerik.Windows.Controls.dll file. Only this file contains information for the dlls version in its metadata. To get this information use the following steps:
- Right click on the Telerik.Windows.Controls.dll file and select the Properties options from the context menu.
- Go to the Details tab in the Properties window.
- Check the File description attribute. It should contain the Telerik.Windows.Controls + "(No XAML)" postfix if the dlls are NoXaml. Otherwise, there will be only the dll's name.