Как объединить два файла ресурсов во время выполнения? - PullRequest
0 голосов
/ 11 ноября 2019

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

И наш код должен проверять, переопределена ли конкретная запись, переопределена ли она, тогда она примет переопределенное значение или же из файла ресурсов по умолчанию.

Например: - мой по умолчаниюфайл ресурсов с записями

           <data name="Common_Color" xml:space="preserve">
                <value>#1892E7</value>
           </data>
           <data name="LoginView_Icon_Color" xml:space="preserve">
                <value>#1892E7</value>
           </data>
           <data name="Here_Text_Color" xml:space="preserve">
                <value>#FFFF1BF5</value>
           </data>

другой файл Resources1.resw содержит записи типа

           <data name="Common_Color" xml:space="preserve">
                <value>#FFFFF</value>
           </data>

другой файл Resources2.resw содержит записи типа

           <data name="LoginView_Icon_Color" xml:space="preserve">
                <value>#1892E7</value>
           </data>

Таким образомесли нам нужно значение Common_Color, мы можем объединить файл по умолчанию и файл Resourse1 и изменить значение Common_Color с # 1892E7 на #FFFFF и получить один такой файл и использовать этот файл в нашем коде

           <data name="Common_Color" xml:space="preserve">
                 <value>#FFFFF</value>
           </data>
           <data name="LoginView_Icon_Color" xml:space="preserve">
                 <value>#1892E7</value>
           </data>
           <data name="Here_Text_Color" xml:space="preserve">
                 <value>#FFFF1BF5</value>
           </data>

1 Ответ

0 голосов
/ 11 ноября 2019

Как объединить два файла ресурсов во время выполнения?

UWP не предоставляет API непосредственно для файла слияния resw, а resw часто используется для локализации строк вПользовательский интерфейс на платформе UWP. Мы могли бы отредактировать файл resw с помощью Visual Studio и загрузить содержимое следующим образом, а также не могли редактировать их содержимое во время выполнения.

var resourceLoader = Windows.ApplicationModel.Resources.ResourceLoader.GetForCurrentView();
this.myXAMLTextBlockElement.Text = resourceLoader.GetString("Farewell");

Для ваших требований мы предлагаем использовать json *Чтобы заменить файл 1012 *, вы можете десериализовать файл json на объекты, сравнить их и объединить, а затем сериализовать новый объект в файл json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...