Como usar recursos de aplicativo (WPF .NET)

Este exemplo demonstra como usar recursos definidos pelo aplicativo. Os recursos podem ser definidos no nível do aplicativo, geralmente por meio do arquivo App.xaml ou Application.xaml, seja qual for o uso do seu projeto. Os recursos definidos pelo aplicativo têm escopo global e são acessíveis por todas as partes do aplicativo.

Importante

A documentação do Guia da Área de Trabalho para .NET 7 e .NET 6 está em construção.

Exemplo

O exemplo a seguir mostra um arquivo de definição de aplicativo. O arquivo de definição de aplicativo define uma seção de recurso (um valor para a Resources propriedade). Recursos definidos no nível do aplicativo podem ser acessados por todas as outras páginas que fazem parte do aplicativo. Nesse caso, o recurso é um estilo declarado. Como um estilo completo que inclui um modelo de controle pode ser longo, este exemplo omite o modelo de controle definido no ContentTemplate setter de propriedades do estilo.

<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>

O exemplo a seguir mostra uma página XAML que faz referência a um recurso de nível de aplicativo do exemplo anterior. O recurso é referenciado com uma extensão de marcação StaticResource que especifica a chave de recurso exclusiva para o recurso. O recurso "FancyBorder" não é encontrado no escopo do objeto e da janela atuais, portanto, a pesquisa de recursos continua além da página atual e em recursos no nível do aplicativo.

<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>

Confira também