1

我正在尝试从 Windows 8 应用程序中的代码更改 MergedDictionaries。我的 App.xaml 如下所示,

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

我正在尝试删除所有 ResourceDictionary,并从后面的代码中添加一个新的 ResourceDictionary。我在网上搜索但没有得到任何解决方案。需要帮助才能完成这件事。

4

1 回答 1

0

您的问题似乎没有简单的解决方案。也许您可以加载资源字典并读取所有项目,并将对象添加到另一个字典中,如MSDN中所述

您可以通过调用 Add(C# 或 Visual Basic)或 Insert (C++/CX) 将项目添加到现有 ResourceDictionary。您可以添加到即时资源或应用程序资源。这些 API 调用中的任何一个都需要一个密钥,这满足了 ResourceDictionary 中的每个项目都有一个密钥的要求。但是,在运行时添加到 ResourceDictionary 的项目与 XAML 资源引用完全无关。XAML 资源引用的必要查找发生在当应用程序加载(或检测到主题更改)时解析 XAML,并且在运行时修改的集合不可用或被重置。

于 2013-08-28T14:39:37.967 回答