Compartilhar via


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 , o que seu projeto usar. Os recursos definidos pelo aplicativo têm escopo global e podem ser acessados por todas as partes do aplicativo.

Exemplo

O exemplo a seguir mostra um arquivo de definição de aplicativo. O arquivo de definição do 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 no nível do 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 nos 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