Я новичок в привязке данных.
У меня есть эти классы:
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");
});
Как мне решить мою проблему?