ResourceDictionary.MergedDictionaries 属性

定义

获取构成合并字典中各种资源字典的 ResourceDictionary 字典的集合。

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>

属性值

构成合并字典中各种资源字典的 ResourceDictionary 字典的列表集合。

示例

使用 C++、C# 或 Visual Basic 的 UWP 应用的起始 Microsoft Visual Studio 模板在 app.xaml 文件中包含 MergedDictionaries 节点。 这会在包含一些基本控件模板定义的项目中引用单独的 XAML ResourceDictionary 。 可以在 ResourceDictionary 中修改 XAML,以自定义控件的外观。

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

注解

设置 MergedDictionaries 值可以在多个页面之间共享 ResourceDictionary XAML 文件,也可以将其作为可添加到多个应用项目的通用文件。 从开发和设计的角度来看,这为资源提供了有用的分解和重用技术。 通常,将 XAML 文件作为 内容 项包含在项目和应用清单中。

任何 MergedDictionaries XAML 中的键控资源不必是唯一的,而不是 Application.ResourcesFrameworkElement.Resources 的主 ResourceDictionary 中的键,键的查找顺序将首先在主字典中查找。 这样就可以使用一种技术来替代从 MergedDictionaries XAML 文件中获取的任何键值,但也可以将合并的字典用作回退或一组常规的非自定义资源。

可以在 MergedDictionaries 集中包含多个 ResourceDictionary,以便在 MergedDictionaries 集中提供回退序列。

有关如何使用 MergedDictionaries 和资源查找序列的详细信息,请参阅 ResourceDictionary 和 XAML 资源引用

ThemeDictionaries 是一个相关属性,它还将其他 XAML ResourceDictionary 源合并到整体键控资源集中,其中方案用于为控件提供与主题相关的资源。

更改 MergedDictionaries 的 ResourceDictionary 项集合的内容并不常见。 通常,在 XAML 中建立集合内容,并且不会在运行时对其进行更改。 在运行时代码中访问集合本身的情况并不多。 通常依赖于在 XAML 加载时发生的内置资源查找,或者查询可按键引用资源的相关 Application.ResourcesFrameworkElement.Resources 集合,包括合并的资源。

适用于

另请参阅