Сохранить свойства элемента управления в XML

2

Я хотел бы сохранить некоторые/все свойства элемента управления в xml. Например. ширина столбцов списка, например

listView1.SaveToXml("listview.xml")

Как это возможно?

Теги:

2 ответа

1
Лучший ответ

Через XMLSerializer класс.

И здесь хороший пример того, как это сделать.

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

EDIT: Вот еще два примера того, как выполнять XML-сериализацию:
http://www.dotnetjohn.com/articles.aspx?articleid=173
http://devhood.mit.edu/Tutorials/tutorial_details.aspx?tutorial_id=236

Что касается точного кода для выполнения того, что вы пытаетесь сделать, я понимаю теперь, что мы фактически используем BinaryFormatter, который немного отличается от того, как XMLSerializer делает что-то, поэтому предоставление кода вам не пригодится. Однако алгоритм по существу:

  • Возьмите требуемую информацию о свойствах (высота, ширина и т.д.) из элемента управления, который вы хотите сохранить, и сохраните эти данные в классе, который вы сделали для этой цели.
  • Сохраните класс с помощью метода Serialize в XMLSerializer.
  • Когда вам нужно снова загрузить этот элемент управления, используйте метод Deserialize в XMLSerializer для загрузки ранее сохраненного класса.
  • Создайте новый экземпляр элемента управления, который вы пытаетесь "оживить", затем скопируйте соответствующие свойства из класса, созданного в элемент управления.
  • 0
    хорошо, спасибо но могу ли я просто сериализовать определенное свойство, а не весь класс? например ширина заголовков столбцов элемента управления списком?
  • 0
    Да. Я использую небольшое подмножество управляющих свойств (я храню их в классе-заглушке, копируя только ту информацию, которую я хочу сохранить), а затем сериализую этот класс. Когда мне это нужно, я десериализирую класс подмножества, создаю новый элемент управления, затем изменяю свойства элемента управления на основе сохраненных настроек.
Показать ещё 2 комментария
0

Вы можете попытаться использовать Xml Serialization.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню