Мне нужно скачать RecourceDictionary из сети и подключить его к проекту.
Так что в App.xaml у меня есть что-то вроде заглушки с текущим ResourceDictionary:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ResourceDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Затем я загружаю и сохраняю новый ResourceDictionary (ResourceDictionary2.xaml) в IsolatedStorage. Затем мне нужно заменить текущую на новую.
На самом деле, если бы этот другой файл был бы прямо в папке проекта, я бы сделал так:
var newDict = new ResourceDictionary {
Source = new Uri("/WP7ResourceDictionaryTest;component/ResourceDictionary2.xaml", UriKind.Relative)
};
ResourceDictionary appResources = App.Current.Resources;
appResources.MergedDictionaries.RemoveAt(0);
appResources.MergedDictionaries.Add(newDict);
этот код работает.
Так что вопрос: как заменить текущий RecourceDictionary файлом, который находится в IsoStorage?
Я попытался настроить Ури так:
newDict.Source = new Uri("isostore:/ResourceDictionary2.xaml");
но это не работает.