Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
En este ejemplo se muestra cómo utilizar diccionario de recursos personalizado de ámbito de aplicación.
Ejemplo
Application expone un almacén de ámbito de aplicación para los recursos compartidos: Resources. De manera predeterminada, Resources se inicializa con una instancia del tipo ResourceDictionary. Esta instancia se utiliza al obtener y establecer propiedades del ámbito de aplicación mediante la propiedad Resources (consulte Cómo: Obtener y establecer recursos en el ámbito de aplicación).
Si tiene varios recursos que se establecen mediante Resources, en su lugar puede utilizar un diccionario de recursos personalizado para almacenar esos recursos y establecer Resources en dicho diccionario. Un diccionario de recursos personalizado se declara mediante marcado, así:
<ResourceDictionary
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" >
<SolidColorBrush x:Key="StandardSolidColorBrush" Color="White" />
<LinearGradientBrush x:Key="StandardLinearGradientBrush" StartPoint="0.0,0.0" EndPoint="1.0,1.0">
<LinearGradientBrush.GradientStops>
<GradientStop Color="White" Offset="0" />
<GradientStop Color="Black" Offset="1" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</ResourceDictionary>
Intercambiar diccionarios de recursos completos mediante Resources permite admitir temas del ámbito de aplicación, donde cada tema se encapsula en un solo diccionario de recursos. Consulte el ejemplo de aplicación con tema.
Para obtener recursos del ámbito de aplicación del diccionario de recursos expuesto por Resources, independientemente de si lo ha creado usted o Application, se necesita un código como el siguiente:
// Get an application-scope resource
Brush whiteBrush = (Brush)Application.Current.Resources["ApplicationScopeResource"];
Debe tener en cuenta dos aspectos al utilizar Resources. En primer lugar, la clave de diccionario es un objeto, por lo que es preciso utilizar exactamente la misma instancia del objeto al establecer y obtener un valor de propiedad (tenga en cuenta que la clave distingue entre mayúsculas y minúsculas cuando se utiliza una cadena). En segundo lugar, el valor del diccionario es un objeto, por lo que deberá convertir el valor al tipo que desee cuando obtenga un valor de propiedad.