Compartir a través de


ResourceDictionary.MergedDictionaries Propiedad

Definición

Obtiene una colección de los diccionarios ResourceDictionary que constituyen los distintos diccionarios de recursos de 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 de los diccionarios combinados.

Ejemplos

Las plantillas de Inicio de Microsoft Visual Studio para una aplicación de SDK de Aplicaciones para Windows mediante C++ o C# incluyen un MergedDictionaries nodo 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 MergedDictionaries valor te permite compartir un archivo XAML 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 del desarrollo y el diseño. Normalmente, se incluye el archivo XAML como elemento content como parte del manifiesto del proyecto y de la aplicación.

Los recursos con clave de cualquier MergedDictionaries XAML no tienen que ser únicos frente a las claves que se encuentran en el 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 en MergedDictionaries archivos XAML, 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 MergedDictionaries conjunto para proporcionar una secuencia de reserva incluso dentro del MergedDictionaries conjunto.

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