В C# WPF У меня есть DataGrid -объект. Для того, чтобы заполнить DataGrid -объекта со значениями Я устанавливающим DataGrid.ItemsSource -свойства так:DataGrid - перебирать строки и значения ячеек доступа для каждой строки
List<SomeClass> someClassList = new List<SomeClass>();
//adding elements to someClassList (omitted for brevity)
myDataGrid.ItemsSource = someClassList;
Это работает, и я могу видеть все элементы, добавленных к someClassList
внутри DataGrid ,
После пользователь нажимает кнопку, я хочу, чтобы сохранить все содержимое внутри этого DataGrid к XML-файл.
Я думал, поэтому было бы умно итерации по рядам из DataGrid. С каждой итерацией я мог получить доступ к значениям внутри ячеек одной строки за один раз и записать их в файл XML-файл.
Для выполнения такой итерации я написал этот код:
foreach (SomeClass someClassElement in myDataGrid.Items)
{
Trace.WriteLine("cell-A = " + someClassElement.propertyA +
"cell-B = " + someClassElement.propertyB +
"cell-C = " + someClassElement.propertyC);
}
К сожалению его выполнения (нажав кнопку) вызывает InvalidCastException, хотя WritLine -метод способен печатать каждую клетку значение в Выходное окно.
Как выполнить итерацию без исключения InvalidCastException?
Существует ли более разумный подход к сохранению содержимого DataGrid в XML-файле?