У меня возникли трудности с правильной работой привязки данных моего сложного объекта. У меня есть 3 DataGridViews в форме и 1 источник привязки. BindingSource.DataSource — это объект FileMoveProcesses, а DataMember — это объект FileMoveProcess.
public class FileMoveProcesses
{
public List<FileMoveProcess> Processes { get; set; }
}
public class FileMoveProcess
{
public string Name { get; set; }
public bool Disabled { get; set; }
public FileMoveProcessDetails SourceDetails { get; set; }
public FileMoveProcessDetails DestinationDetails { get; set; }
}
Есть 2 других DataGridViews, которые имеют DataSource BindingSource, а DataMembers — это SourceDetails и DestinationDetails соответственно. Это работает нормально, если у меня уже есть данные в XML-файле для этих элементов данных, как вы можете видеть ниже. Процесс редактирования работает просто отлично, обновления сериализуются, как и следовало ожидать.
Проблема возникает, когда я пытаюсь добавить новый FileMoveProcess. Крайний левый DataGridView, содержащий FileMoveProcess, сохранится правильно, но когда я попытаюсь добавить данные SourceDetails и DestinationDetails в datagridview, им не удастся создать объекты FileMoveProcessDetails для нового FileMoveProcess, поэтому он недоступен для записи в файл xml.
Что я пропустил?
ТИА
PS ComboBoxes являются привязкой данных Enum, поэтому данные доступны для нового элемента.
FileMoveProcessDetails
, прикрепленные к текущемуFileMoveProcess
, или они нулевые? - person Vland   schedule 07.01.2014