2013-06-28 2 views
0

Я пытаюсь изменить MergedDictionaries из кода в приложении Windows 8. Моя App.xaml выглядит, как показано ниже,Добавить/Очистить MergedDictionaries из кода позади в Windows 8 app

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

В том, что я пытаюсь удалить все ResourceDictionary, и добавить новый ResourceDictionary из кода позади. Я искал в Интернете, но не получил никакого решения. Нужна помощь, чтобы сделать это.

ответ

0

Кажется, что нет простого решения для вашего вопроса. Может быть, вы можете загрузить словарь ресурсов и прочитать все пункты, а также добавить объекты к другому словарю, как это описано в MSDN

Вы разрешается добавлять элементы к существующему ResourceDictionary по вызова Add (C# или Visual Basic) или Вставить (C++/CX). Вы можете добавить к либо сразу ресурсы ресурсов, либо ресурсы приложений. Любой из этих вызовов API требует ключа, который удовлетворяет требованию, чтобы каждый элемент в файле ResourceDictionary имел ключ. Тем не менее, элементы, которые вы добавляете к ресурсу ResourceDictionary во время выполнения, вообще не имеют отношения к ресурсу XAML . Необходимый поиск ссылок на ресурсы XAML происходит, когда XAML анализируется при загрузке приложения (или обнаруживается изменение темы ), а коллекции, которые были изменены во время выполнения, либо недоступны, либо сбрасываются.