为什么 WinForms 上的 DataBinding 不适用于我的一个窗体,而适用于其他窗体?



Hej Folks,

代码的一些背景:我有一个 WinForms 项目,其组织方式类似于主窗体只有一个菜单和一个面板,每个菜单按钮都以单独的窗体加载到此面板中。这工作正常。我不确定我的问题是否与此设置有任何关系,但是当我从第一个表单制作副本时,没有数据绑定正在新表单上工作。窗体由组合框和数据网格视图组成。虽然这些在原始表单上的绑定中工作正常,但它们都没有在新表单上工作。每个初始化都是相同的:

private readonly List<string> _listOfStrings = new List<string>();
private readonly BindingSource _gridBindingSource = new BindingSource();
private readonly List<Object> _listOfObjects = new List<Object>();

组合框的绑定:

comboBoxSomeName.DataSource = new BindingSource(_listOfStrings, null);

网格的绑定:

_gridBindingSource.DataSource = _listOfObjects;
dataGridViewItems.DataSource = _gridBindingSource;

比我填满名单。我也试图填满它们而不是绑定,同样的结果。似乎列表很好,数据在那里,而且 BindingSources 可以看到它们,但看不到控件。控件本身也很好,我可以用items.add填充组合框,这可以看到。我真的不知道会是什么问题,我很欣赏所有可能的提示。

填写列表后必须调用 _gridBindingSource.ResetBindings((。

最新更新