В Silverlight нет API для конкретной темы.У вас есть один или несколько словарей ресурсов, которые вы можете использовать для определения набора стилей, которые будут применяться к вашим элементам управления.
в файле Theme1.xaml:
<Style x:Key="HeadingStyle" TargetType="{x:Type Label}">
<Setter Property="Foreground" Value="Black"/>
</Style>
вФайл Theme2.xaml:
<Style x:Key="HeadingStyle" TargetType="{x:Type Label}">
<Setter Property="Foreground" Value="Red"/>
</Style>
в App.xaml (тема по умолчанию или ссылка на файл default.xaml):
<Application.Resources>
<Style x:Key="HeadingStyle" TargetType="{x:Type Label}">
<Setter Property="Foreground" Value="blue"/>
</Style>
</Application.Resources>
Чтобы изменить текущую «тему»:
Application.Current.Resources = Application.LoadComponent(new Uri("Theme2.xaml", UriKind.RelativeOrAbsolute));
У меня сейчас нет установленных инструментов RTM, поэтому я не могу протестировать этот код.