WinRT загрузка ResourceDictionary из строки

#xaml #windows-runtime #winrt-xaml #resourcedictionary

#xaml #windows-среда выполнения #winrt-xaml #resourcedictionary

Вопрос:

Мне нужно изменить ResourceDictionary значения на основе конфигурации, которая поступает с сервера.

Способ, которым я это сделал, заключается в том, чтобы иметь файл ресурсов, который я открываю и считываю содержимое в строку, выполняю в нем некоторые замены, а затем записываю строку обратно в файл во временной папке.

Что мне нужно сделать сейчас, так это загрузить файл в ResourceDictionary.Source который принимает URI.

Если я возьму StorageFile.Path и использую это для URI, это не сработает.

 var resource = new ResourceDictionary
{
    Source = new Uri( storageFile.Path )
};
  

Это выдает ошибку Value does not fall within the expected range. .

Я пытался

 new Uri( "ms-appdata:///temp/"   storageFile.Name )
  

и это выдает мне ошибку Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)) .

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

Как я могу заставить это работать?

Ответ №1:

Я бы попробовал загрузить его с помощью XamlReader.Load() .

Комментарии:

1. Еще раз, ты потрясающий. Спасибо!