Accedere da codice alle risorse dell'applicazione con Silverlight 3.0

Nelle applicazioni Silverlight è possibile dichiarare alcuni oggetti in modo che possano essere utilizzati direttamente nel markup di tutte le sezioni dell'applicazione.
Per questo tipo di operazione, è sufficiente istanziare tali oggetti nella definizione dell'oggetto Application, aggiungendoli alla collezione Resources:

XAML
<Application.Resources> 
  <ResourceDictionary> 
    <SolidColorBrush x:Key="SolidColorElement" 
                     Color="#FF000000" /> 
     
    <Style x:Key="TabControlStyle" 
           TargetType="controls:TabControl"> 
      <Setter Property="Background" 
              Value="#373f44" /> 
      <Setter Property="HorizontalContentAlignment" 
              Value="Stretch" /> 
      <Setter Property="VerticalContentAlignment" 
              Value="Stretch" /> 
      <Setter Property="BorderThickness" 
              Value="2,2,0,0" /> 
      <Setter Property="BorderBrush" 
              Value="#20282b" /> 
    </Style> 
  </ResourceDictionary> 
</Application.Resources>

Nel markup tali oggetti possono essere utilizzati attraverso la markup extension StaticResource:

XAML
<Rectangle Fill="{StaticResource SolidColorElement}" />

E' possibile, inoltre, recuperare tali oggetti programmaticamente, accedendo all'oggetto Application da qualunque classe dell'applicazione:

C#
public MainPage() 
{ 
  InitializeComponent(); 
 
  SolidColorBrush SolidColorElement = Application.Current.Resources["SolidColorElement"] as SolidColorBrush; 
  Style TabControlStyle = Application.Current.Resources["TabControlStyle"] as Style; 
}

IL CONTENUTO
IN PRIMO PIANO
MEDIA
IN EVIDENZA
MISC