2011-08-26 44 views
1

我已经构建了一个基本用户控件BaseViewControl,它有一个dataGridView和一个bindingSource对象。两者都有保护访问修饰符。 dataViewGrids dataSource指向基础表单bindingSource。视觉继承问题

然后我创建了一个InheritedUserControl,ApplicationUserView,当提示时我将它指向我的UI组件。它在同一个程序集中继承了一些其他的arb UserControl,所以我手动将它改为继承我的BaseViewControl。

在ApplicationUserView的bindingSource上,我将dataSource属性设置为我的ApplicationUser域对象。正如预期的那样,dataGridView继续使用DesignView中的ApplicationUser域类中的属性填充其列。

现在,在我的控制器对象的异步回调中,视图接收IList <ApplicationUser>,我设置了我的bindingSource.DataSource = applicationUserList。

我已确认回调被调用,并且applicationUserList中有项目,但在运行时,网格不显示任何行。我怀疑它与视觉继承方面有关。

我已经看到VS创建副本的项目从继承形式到继承形式,只要你尝试和修改继承项目的属性之前,它有类似的效果,但事实并非如此。

任何想法我做错了什么?

感谢,HS

+0

我只发表评论因为我的情况不同,但是所讨论的控制是一样的。我也遇到了DataGridView的问题:http://adamhouldsworth.blogspot.com/2010/02/winforms-visual-inheritance-limitations.html –

+0

我会检查设计器生成的文件,以获取继承和基本控件。 – Jeff

+0

设计器文件似乎是正确的,基本控件声明DataGridView和BindingSource,继承控件修改它们的属性... – HarveySaayman

回答