我是新的數據綁定。WinForms數據綁定
我有這些類:
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>
我想在ComboBox
Foo
項目,並在ListBox
Bar
項目。當我更改ComboBox
中的所選項目時,我想要ListBox
更改。當我更改ListBox
中的選定項目時,我希望TextBox
填有BarDesc
。
以下工作只爲ListBox
和ComboBox
:
comboBox1.DataSource = foos;
comboBox1.DisplayMember = "FooName";
listBox1.DataBindings.Add("DataSource", foos, "");
listBox1.DisplayMember = "BarName";
我現在不如何ListBox
綁定選擇Bar
到TextBox.Text
財產做。也許爲listBox1
添加綁定不是一個好主意。
也許我應該做這樣的事情:
((CurrencyManager)listBox1.BindingContext[foos]).CurrentChanged += new EventHandler((o, a) =>
{
textBox1.DataBindings.Clear();
textBox1.DataBindings.Add("Text", listBox1.DataSource, "BarDesc");
});
我怎樣才能解決我的問題呢?
微軟從來沒有打算讓類繼承'List'。我認爲他們推薦'Collection '作爲基礎班。 –
ja72
2015-05-08 12:56:23
我不知道它,但即使我切換到集合問題本來會留下。無論如何,現在我寧願不擴展'List',而是把它作爲一個屬性聚集在'Foo'中。 –
prostynick
2015-05-08 13:08:40
是的,這只是一句話,與問題的解決無關。見http://stackoverflow.com/q/21692193/380384 – ja72 2015-05-08 17:16:46