Я новичок в привязке данных.
У меня есть эти классы:
public class Foo : List<Bar>
{
public string FooName { get; set; }
}
public class Bar
{
public string BarName { get; set; }
public string BarDesc { get; set; }
}
И у меня есть List<Foo>
Я хотел бы иметь Foo элементы в ComboBox и Bar элементы в ListBox. Когда я изменяю выбранный элемент в ComboBox, я хочу, чтобы ListBox изменился. Когда я изменяю выбранный элемент в ListBox, я хотел бы иметь TextBox, заполненный BarDesc.
Выполняется только для ListBox и ComboBox:
comboBox1.DataSource = foos;
comboBox1.DisplayMember = "FooName";
listBox1.DataBindings.Add("DataSource", foos, "");
listBox1.DisplayMember = "BarName";
Я не могу теперь привязать выбранное свойство Bar в ListBox к TextBox.Text. Возможно, добавленная привязка для listBox1 - не очень хорошая идея.
Может быть, я должен сделать что-то вроде этого:
((CurrencyManager)listBox1.BindingContext[foos]).CurrentChanged += new EventHandler((o, a) =>
{
textBox1.DataBindings.Clear();
textBox1.DataBindings.Add("Text", listBox1.DataSource, "BarDesc");
});
Как я могу решить свою проблему?