【发布时间】:2017-02-18 11:30:08
【问题描述】:
我在绑定到多个控件时遇到问题。例如,我有不同的控件:1 个列表框、2 个组合框、1 个 datagridview,它们都绑定到同一个列表或 iobservablecollection(除了 datagridview 显示相同的属性)。一切正常。但是,如果我更改一个控件的选择,所有其他控件的选择都会更改为同一个项目。或者换句话说,如果我将组合框的选择更改为第 5 项,另一个组合框也将其选择更改为第 5 项,并且列表框也将其选择更改为第 5 项。有人知道如何避免这种情况吗?
编辑: 以下是导致相同行为的示例代码:
私有列表TestList;
private void Form1_Load(object sender, EventArgs e)
{
TestList = new List<foo>();
for (int i = 0; i <= 5; i++)
{
foo f = new foo();
f.test = "Test_" + i;
TestList.Add(f);
}
comboBox1.DataSource = TestList;
comboBox1.DisplayMember = "test";
comboBox2.DataSource = TestList;
comboBox2.DisplayMember = "test";
}
class foo
{
private string _test;
public string test
{
get
{
return _test;
}
set
{
_test = value;
}
}
}
如果我更改combobox1 的item,combobox2 的item 会自动更改为相同的item。
图片:1
【问题讨论】:
-
也许你可以把有问题的代码更容易得到答案。