ResourceDictionary.MergedDictionaries Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.