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 , indipendentemente da quello usato dal progetto. Le risorse definite dall'applicazione sono con ambito globale e accessibili da tutte le parti dell'applicazione.

Importante

La documentazione di Desktop Guide per .NET 7 e .NET 6 è in fase di costruzione.

Esempio

L'esempio seguente mostra un file di definizione dell'applicazione (ADF). Il file di definizione dell'applicazione definisce una sezione della risorsa (un valore per la Resources proprietà ). Le risorse definite a livello di applicazione sono accessibili 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 ContentTemplate setter della proprietà 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'estensione di markup StaticResource 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>

Vedi anche