Как определить локализуемые свойства в WinForms?

Где-то еще кто-то заявляет, что свойство "Visible" элемента управления не может быть локализовано. Это наполовину правда. Однако для свойства «Visible» атрибут LocalizableAttribute установлен в значение true. Но это просто означает, что свойство сериализуется в файл ресурсов. Я написал тестовую программу, у которой для свойства visible метки установлено значение «false» для инвариантной культуры. Сделав форму локализуемой, я изменил свойство visible на «true» для немецкой культуры. Что произойдет, если я запущу программу с системой, установленной на немецкий язык? Этикетка остается невидимой. Проверяя файл ресурсов Form1.de.resx, я вижу, что свойство visible не было сериализовано. Но если я вручную добавлю это в файл ресурсов:


  True

, появится метка. Признаюсь, что немного запуталась. Два вопроса:

  • Как я могу определить, действительно ли свойство локализовано с помощью встроенного сериализатора?
  • Каков рекомендуемый способ переопределить поведение по умолчанию?

Изменить : Может мне нужно уточнить свой вопрос. Моя примерная программа представляет собой простую форму, в которой язык по умолчанию установлен на инвариантный. Я вручную добавил немецкие ресурсы через конструктор форм. Программа работает в системе с региональными настройками на немецкий язык.

Случай 1

" Visible " Свойство панели добавлено в форму:
1.) установлено значение false в инвариантной культуре, true (по умолчанию) в немецкой культуре. => панель невидима
2.) установлено значение true в инвариантной культуре, false в немецкой культуре. => панель невидима (работает должным образом)
Очевидно, значение записывается в файл ресурсов для конкретного языка только в том случае, если оно не является значением по умолчанию.

Случай 2

« Font » Свойство метки добавлено в форму:
1.) установлен полужирным шрифтом в инвариантной культуре, свойство сбрасывается на значение по умолчанию в немецкой культуре. => ярлык не жирный
2.) установить по умолчанию в инвариантной культуре, жирным шрифтом в немецкой культуре. => ярлык выделен жирным шрифтом
Теперь свойства сериализованы, как и ожидалось.

Это ошибка или я что-то упустил?

8
задан Community 23 May 2017 в 10:34
поделиться