ResourceDictionary.MergedDictionaries Propiedad

Definición

Obtiene una colección de los diccionarios ResourceDictionary que constituyen los distintos diccionarios de recursos en los diccionarios combinados.

public:
 property IVector<ResourceDictionary ^> ^ MergedDictionaries { IVector<ResourceDictionary ^> ^ get(); };
IVector<ResourceDictionary> MergedDictionaries();
public IList<ResourceDictionary> MergedDictionaries { get; }
var iVector = resourceDictionary.mergedDictionaries;
Public ReadOnly Property MergedDictionaries As IList(Of ResourceDictionary)
<ResourceDictionary>
  <ResourceDictionary.MergedDictionaries>
    oneOrMoreResourceDictionaryElements
  </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

Valor de propiedad

Colección de listas de los diccionarios ResourceDictionary que constituyen los distintos diccionarios de recursos en los diccionarios combinados.

Ejemplos

Las plantillas de Inicio de Microsoft Visual Studio para una aplicación para UWP con C++, C# o Visual Basic incluyen un nodo MergedDictionaries en el archivo app.xaml. Esto hace referencia a un resourceDictionary XAML independiente en el proyecto que contiene algunas definiciones de plantilla de control básicas. Puedes modificar el XAML dentro de ResourceDictionary para personalizar la apariencia de los controles.

<Application
    ....
>
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Common/StandardStyles.xaml"/>
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

Comentarios

Establecer un valor de MergedDictionaries te permite compartir un archivo XAML de ResourceDictionary entre varias páginas, o también como un archivo común que puedes agregar a varios proyectos de aplicación. Esto proporciona una técnica útil de factorización y reutilización para los recursos desde el punto de vista de desarrollo y diseño. Normalmente, incluyes el archivo XAML como un elemento Content como parte del manifiesto del proyecto y de la aplicación.

Los recursos con clave de cualquier XAML de MergedDictionaries no tienen que ser únicos frente a las claves que se encuentran en resourceDictionary principal para Application.Resources o FrameworkElement.Resources, y el orden de búsqueda de claves buscará primero en el diccionario principal. Esto permite una técnica en la que puedes invalidar cualquier valor de clave obtenido desde archivos XAML de MergedDictionaries, pero también podrías tener los diccionarios combinados disponibles como reserva o como un conjunto general de recursos no personalizados.

Puede incluir más de un ResourceDictionary en un conjunto de MergedDictionaries para proporcionar una secuencia de reserva incluso dentro del conjunto MergedDictionaries.

Para obtener más información sobre cómo usar MergedDictionaries y la secuencia de búsqueda de recursos, consulta Referencias a recursos ResourceDictionary y XAML.

ThemeDictionaries es una propiedad relacionada que también combina orígenes de ResourceDictionary XAML adicionales en el conjunto de recursos con clave general, donde el escenario consiste en proporcionar recursos relacionados con temas para los controles.

Cambiar el contenido de la colección de elementos ResourceDictionary para MergedDictionaries no es un escenario común. Por lo general, estableces el contenido de la colección en XAML y no lo cambias en tiempo de ejecución. No hay muchos escenarios en los que accedería a la propia colección en código en tiempo de ejecución. Normalmente, se basa en la búsqueda de recursos integrada que se produce en el tiempo de carga xaml, o consulta las colecciones Application.Resources o FrameworkElement.Resources pertinentes que pueden hacer referencia a los recursos por clave, incluidos los recursos combinados.

Se aplica a

Consulte también