Come usare le risorse dell'applicazione (WPF .NET)
Questo esempio illustra come usare le risorse definite dall'applicazione. Le risorse possono essere definite a livello di applicazione, in genere tramite il file App.xaml o Application.xaml, a seconda di quale utilizza il progetto. Le risorse definite dall'applicazione sono con ambito globale e accessibili da tutte le parti dell'applicazione.
Esempio
L'esempio seguente mostra un file di definizione dell'applicazione. Il file di definizione dell'applicazione definisce una sezione della risorsa (un valore per la proprietà Resources). È possibile accedere alle risorse definite a livello di applicazione da tutte le altre pagine che fanno parte dell'applicazione. In questo caso, la risorsa è uno stile dichiarato. Poiché uno stile completo che include un modello di controllo può essere lungo, questo esempio omette il modello di controllo definito all'interno del setter della proprietà ContentTemplate dello stile.
<Application.Resources>
<Style TargetType="Border" x:Key="FancyBorder">
<Setter Property="Background" Value="#4E1A3D" />
<Setter Property="BorderThickness" Value="5" />
<Setter Property="BorderBrush">
<Setter.Value>
<LinearGradientBrush>
<GradientStop Offset="0.0" Color="#4E1A3D"/>
<GradientStop Offset="1.0" Color="Salmon"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Style>
</Application.Resources>
L'esempio seguente mostra una pagina XAML che fa riferimento a una risorsa a livello di applicazione dell'esempio precedente. Viene fatto riferimento alla risorsa con un StaticResource Markup Extension che specifica la chiave di risorsa univoca per la risorsa. La risorsa "FancyBorder" non viene trovata nell'ambito dell'oggetto e della finestra corrente, quindi la ricerca della risorsa continua oltre la pagina corrente e nelle risorse a livello di applicazione.
<Border Style="{StaticResource FancyBorder}">
<StackPanel Margin="5">
<Button>Button 1</Button>
<Button>Button 2</Button>
<Button>Button 3</Button>
<Button>Button 4</Button>
</StackPanel>
</Border>
Vedere anche
.NET Desktop feedback