Silverlight uses XAML analyzers different depending on whether the destination of the application is Silverlight 3 or Silverlight 4. For compatibility, the two analyzers exist simultaneously in the Silverlight core libraries 4. Applications that have been compiled for Silverlight version 3 and have used this version as the target specific analyzer Silverlight XAML version 3. Applications that have been compiled for Silverlight version 4 and have used this version as the target specific analyzer Silverlight XAML version 4. This subject illustrates the XAML processing differences between Silverlight 3 and Silverlight 4.
Mixed Elements and proprietary content
Silverlight 3 sustains mixed content elements and property in XAML. On the other hand, the Silverlight XAML 4 and [MS-XAML] does not support them. For example, the subsequent XAML code can be scrutinized in Silverlight 3 but not Silverlight 4:
xmlns inferred property element
Path="Text" <Binding ElementName="tb" />
X:Name="tb" <textbox Grid.Row="1" /> <! - This is a second content set, invalid in v4 ->
Silverlight 3 supports XAML with elements that do not specify property information XAML namespace of its primary object element. April Silverlight does not support this and throws an analysis of XAML. For example, the following XAML in Silverlight 3 is valid but it is not in Silverlight 4:
<Controls: WrapPanel Width = "100" Height = "100"
xmlns: controls = "clr-namespace: System.Windows.Controls; assembly = System.Windows.Controls">
<WrapPanel.Background> <! - Needs prefix ...-->
Color="Red" <SolidColorBrush />
</ Controls: WrapPanel>
Xmlns attribute false
In some cases, 3 supports Silverlight XAML with xmlns attribute-that are not resolved. In such cases, Silverlight 3 uses an object element xmlns reserve. April Silverlight does not support this and throws an analysis of XAML.