Uso de recursos de aplicación (WPF .NET)

En este ejemplo se muestra cómo usar recursos definidos por la aplicación. Los recursos se pueden definir en el nivel de aplicación, por lo general a través uno de los dos archivos, App.xaml o Application.xaml, que use el proyecto. Los recursos definidos por la aplicación tienen un ámbito global y son accesibles para todas las partes de la aplicación.

Importante

La documentación de la guía de escritorio para .NET 7 y .NET 6 está en proceso de elaboración.

Ejemplo

En el siguiente ejemplo se muestra un archivo de definición de aplicación. El archivo de definición de aplicación define una sección de recursos (un valor para la propiedad Resources). Todas las demás páginas que forman parte de la aplicación pueden obtener acceso a los recursos definidos en el nivel de aplicación. En este caso, el recurso es un estilo declarado. Dado que un estilo completo que incluye una plantilla de control puede ser largo, en este ejemplo se omite la plantilla de control que se define dentro del establecedor de propiedades ContentTemplate del 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>

En el ejemplo siguiente se muestra una página XAML que hace referencia a un recurso de nivel de aplicación del ejemplo anterior. Se hace referencia al recurso con una extensión de marcado StaticResource que especifica la clave de recurso única para el recurso. El recurso «FancyBorder» no se encuentra en el ámbito del objeto y la ventana actuales, por lo que la búsqueda de recursos continúa más allá de la página actual y en los recursos de nivel de aplicación.

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

Vea también