У меня есть BindingList
из objectA
S, связанные с comboBox_1.DataSource
(и имя объекта, как DisplayMember
). Мой objectA
состоит из objectZ
и списка objectX
s. Форма связана с одним конкретным элементом из этого списка objectX
. На этой форме есть много других элементов управления, которые показывают значения различных свойств objectX
.
Вот код для визуализации, что:Reflect изменения от BindingList.List.Element между элементами управления и BindingList
class objectA
{
class objectZ
{
public int Count { get; set; }
}
class objectX
{
public string Prop1 { get; set; }
public bool Prop2 { get; set; }
}
public string Name { get; set; }
public objectZ Z { get; set; }
public List<objectX> listX { get; set; }
}
BindingList<objectA> listA = new BindingList<objectA>();
comboBox_1.DataSource = listA;
comboBox_1.DisplayMember = "Name";
Как сделать так, objectX
значения в других элементах управления изменяется в соответствии с выбранным в данный момент значения в comboBox
, сохраняя BindingList
свойства чтения/записи данных «на в- идти'? Чтобы выразить это в коде (он же, что я пытаюсь добиться):
textBox_1.Text = listA.GetWantedObjectX().Prop1;
checkBox_1.Checked = listA.GetWantedObjectX().Prop2;
void checkBox_1_CheckedChanged()
{
listA.GetWantedObjectX().Prop2 = checkBox_1.Checked;
}
Я предполагаю, что я нужен objectA.objectX currentObject
свойство для управления данными, а затем он был бы:
currentObject = listA.GetWantedObjectX();
checkBox_1.Checked = currentObject.Prop2;
Но тогда изменения, внесенные в currentObject
, не отражались бы в listaA
, и мне нужно было бы создать sth, как кнопка сохранения, не так ли? Есть ли более «отзывчивый» способ?