امکان قرار دادن Style ها در فایلهای XAML به صورت جداگانه وجود دارد که عموماً جهت ارائه قالب (Theme) ها مورد استفاده قرار می گیرند. برای اعمال این نوع فایلها می توان از فایل App.xaml به صورت زیر استفاده کرد:
1- تعریف فایل منابع خارجی:
با استفاده از منوی پروژه، گزینه Add new item سپس انتخاب افزودن Silverlight Resource Dictionary :
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- Resource dictionary entries should be defined here. -->
</ResourceDictionary>

2- استفاده از فایل منابع خارجی و تعریف آن در سطح کل برنامه (در فایل App.xaml):
<Application.Resources>
<ResourceDictionary Source="Themes/newTheme.xaml"/>
</Application.Resources>

برای مثال یک پروژه جدید را آغاز کنید سپس پوشه ای تحت عنوان Themes به آن اضافه کنید. در این پوشه یک Silverlight Resource Dictionary جدید به نام Blue.xaml با محتوای زیر اضافه کنید (فراموش نکنید که در خواص فایل در VS.NET باید خاصیت buil action را به Content تغییر دهید):

<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!--DEFINING A LIST OF COLORS FOR RE-USE-->
<Color x:Key="TextBrush">#FF000000</Color>
<Color x:Key="NormalBrushGradient1">#FFBAE4FF</Color>
<Color x:Key="NormalBrushGradient2">#FF398FDF</Color>
<Color x:Key="NormalBrushGradient3">#FF006DD4</Color>
<Color x:Key="NormalBrushGradient4">#FF0A3E69</Color>
<Color x:Key="NormalBorderBrushGradient1">#FFBBBBBB</Color>
<Color x:Key="NormalBorderBrushGradient2">#FF737373</Color>
<Color x:Key="NormalBorderBrushGradient3">#FF646464</Color>
<Color x:Key="NormalBorderBrushGradient4">#FF000000</Color>
<Color x:Key="ShadeBrushGradient1">#FF62676A</Color>
<Color x:Key="ShadeBrushGradient2">#FFD1D4D6</Color>
<Color x:Key="ShadeBrushGradient3">#FFFFFFFF</Color>
<Color x:Key="SliderBorderGradient1">#FF3F3F3F</Color>
<Color x:Key="SliderBorderGradient2">#FFADADAD</Color>
<!--DEFINING A LIST OF BRUSHES FOR RE-USE-->
<LinearGradientBrush x:Key="NormalBrush"
EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="{StaticResource NormalBrushGradient1}"
Offset="0" />
<GradientStop Color="{StaticResource NormalBrushGradient2}"
Offset="0.41800001263618469" />
<GradientStop Color="{StaticResource NormalBrushGradient3}"
Offset="0.418" />
<GradientStop Color="{StaticResource NormalBrushGradient4}"
Offset="1" />
</LinearGradientBrush>
<LinearGradientBrush x:Key="NormalBorderBrush" EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop
Color="{StaticResource NormalBorderBrushGradient1}" />
<GradientStop
Color="{StaticResource NormalBorderBrushGradient2}"
Offset="0.38" />
<GradientStop
Color="{StaticResource NormalBorderBrushGradient3}"
Offset="0.384" />
<GradientStop
Color="{StaticResource NormalBorderBrushGradient4}"
Offset="1" />
</LinearGradientBrush>
<LinearGradientBrush
x:Key="ShadeBrush" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop
Color="{StaticResource ShadeBrushGradient2}" Offset="0" />
<GradientStop
Color="{StaticResource ShadeBrushGradient3}" Offset="0.1" />
<GradientStop
Color="{StaticResource ShadeBrushGradient3}" Offset="1" />
</LinearGradientBrush>
<!--Button-->
<Style TargetType="Button">
<Setter Property="Background"
Value="{StaticResource NormalBrush}"/>
<Setter Property="Foreground" Value="#FF000000"/>
<Setter Property="Padding" Value="3"/>
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="BorderBrush"
Value="{StaticResource NormalBorderBrush}" />
</Style>
<!--TextBox-->
<Style TargetType="TextBox">
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Background"
Value="{StaticResource NormalBrushGradient1}"/>
<Setter Property="Foreground" Value="#FF000000"/>
<Setter Property="Padding" Value="2"/>
<Setter Property="BorderBrush"
Value="{StaticResource NormalBorderBrush}" />
</Style>
<!--Slider-->
<Style TargetType="Slider">
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Maximum" Value="10"/>
<Setter Property="Minimum" Value="0"/>
<Setter Property="Value" Value="0"/>
<Setter Property="BorderBrush">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="#FFA3AEB9" Offset="0"/>
<GradientStop Color="#FF8399A9" Offset="0.375"/>
<GradientStop Color="#FF718597" Offset="0.375"/>
<GradientStop Color="#FF617584" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>

در این فایل منبع، نحوه تعریف قالب های جدید یک سری کنترل مانند Slider، TextBox و Button را ملاحضه می کنید. نحوه اعمال این قالب جدید و معرفی آن به صورت یک ResourceDictionary به صفحه اصلی برنامه (MainPage.xaml)به صورت زیر خواهد بود:
<UserControl x:Class="SilverlightApplication58.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400">
<UserControl.Resources>
<ResourceDictionary Source="Themes/Blue.xaml" />
</UserControl.Resources>
<StackPanel x:Name="LayoutRoot" Width="200"
HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="This is our form." Margin="0,0,0,10"/>
<Button Content="Save" Margin="0,0,0,10"/>
<TextBox Text="Something to edit." Margin="0,0,0,10"/>
<Slider/>
</StackPanel>
</UserControl>

به این ترتیب نیازی نخواهد بود تا به صورت دستی خاصیت Style تک تک عناصر صفحه را مقدار دهی کنید و تعاریف قالب ها بر اساس محتوی فایل Resource Dictionary تعریف شده، دریافت می گردند.
این امکان تعریف و اعمال مستقیم فایل های منابع جزو ویژگی های جدید Silverlight 4 بوده و در نگارش های قبلی، از Silverlight toolkit و ImplicitStyleManager کمک گرفته می شد که اکنون جزئی از Silverlight 4 است.
همچنین باید در نظر داشته باشید که عموماً فایل های منبع همانند این مثال بسیار حجیم شده و مدیریت آن ها مشکل می شود، به همین جهت امکان تعریف محتوای آن ها در چندین فایل منبع مجزا و سپس یکی کردن آنها به کمک MergedDictionaries نیز میسر است که روش آن به صورت زیر است (چه در App.xaml و چه در فایل MainPage.xaml):
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ResourceA.xaml"/>
<ResourceDictionary Source="ResourceB.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>


موفق باشید