Можно ли сохранить элемент управления WPF или любой другой нетривиальный объект в файле * .settings в приложении .NET? Я подумал, что это будет легко, поскольку файл * .settings позволяет мне указать произвольный тип для каждого отдельного параметра, к сожалению, он не работает для меня.
Я пытаюсь сохранить System.Windows.Controls.ListBox в файле * .settings моего приложения. Проблема в том, что мой экземпляр списка не сохраняется. Когда я снова запускаю приложение, оно просто null , когда я загружаю его.
Вот то, что я использую для загрузки / сохранения моего экземпляра ListBox
private void PersistListBoxToSettings(System.Windows.Controls.ListBox projectsListBox)
{
Properties.Settings.Default.ListBoxData = projectsListBox;
Properties.Settings.Default.Save();
}
private void LoadProjectListBox()
{
projectsListBox = Properties.Settings.Default.ListBoxData; // Always null after application restart.
}
Я протестировал мой файл * .settings, чтобы убедиться, что он даже работал, сохранив / загрузив простую строку - которая функционировала как ожидалось.
Является ли то, что я пытаюсь сделать, просто действительно плохой идеей? Должен ли я перестать пытаться быть умным и использовать правильную сериализацию объектов на диск?