Во-первых, отображение ваших данных и используемых вами графических виджетов совершенно не имеет значения (т. Е. То, что вы используете «список из 2 столбцов», не имеет значения). Что важно (в данном случае со списком) - это набор объектов, привязанный к вашему списку.
Класс коллекции - действительно важный элемент для загрузки и сохранения. Его содержимое - это то, что вы будете сохранять и загружать из вашего файла. Список, отображающий данные, не имеет значения; он просто отображает данные коллекции, к которой он привязан, используя любой шаблон, который вы настроили.
Так как вы загружаете и сохраняете, вы спрашиваете? Вот простой пример, который использует двоичное форматирование. На Intertubes есть еще один миллиард пешеходов; просто Google "C # Сериализация в файл"
public void Serialize(string filename, ObjectToSerialize objectToSerialize)
{
Stream stream = File.Open(filename, FileMode.Create);
BinaryFormatter bFormatter = new BinaryFormatter();
bFormatter.Serialize(stream, objectToSerialize);
stream.Close();
}
public ObjectToSerialize DeSerialize(string filename)
{
ObjectToSerialize objectToSerialize;
Stream stream = File.Open(filename, FileMode.Open);
BinaryFormatter bFormatter = new BinaryFormatter();
objectToSerialize = (ObjectToSerialize)bFormatter.Deserialize(stream);
stream.Close();
return objectToSerialize;
}