从Windows 8 app中的代码添加/清除MergedDictionaries

时间:2013-06-28 12:19:17

标签: c# winrt-xaml app.xaml mergeddictionaries

我正在尝试从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。我在网上搜索但没有得到任何解决方案。需要帮助来完成这件事。

1 个答案:

答案 0 :(得分:0)

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

中所述。
  

您可以通过添加项目到现有的ResourceDictionary   调用Add(C#或Visual Basic)或Insert(C ++ / CX)。你可以添加   直接资源或应用资源。这些API调用中的任何一个   需要一个键,它满足了每个项目的要求   ResourceDictionary有一把钥匙。但是,您添加到的项目   运行时的ResourceDictionary与XAML资源无关   参考文献。 XAML资源引用的必要查找   在加载应用程序(或主题)时解析XAML时发生   检测到更改),以及在运行时修改的集合   无法使用或重置。