我正在使用 RadListView 中的 Telerik UI for WindowsForms 控件。
我一步一步做的是:
将DataSource设置为控件。
手动滚动垂直滚动条向下
计时器滴答后,数据源会在运行时续订。
此时,滚动并且数据源已更改后,滚动条保持在相同位置(如我所料),但列表视图未正确更新布局,任何项目都在控件中绘制。
我找到解决此问题的唯一方法是手动向上滚动(仅向上)。
我尝试使用EnsureItemVisible
,PerformLayout
,Invalidate
和ScrollTo
方法,我也切换了Visible
属性的状态,但是修复了布局问题。
我如何解决它?。
答案 0 :(得分:2)
由于您的数据源不支持通知,因此ListView未更新。为了实现这一目标,您的数据源应该实现IBIndingList,并且您的对象应该实现INotifyPropertyChanged。例如,您可以使用BindingList而不是IEnumerable。 this article中提供了一个示例 - 即使文章使用RadGridView,在数据源方面,方法也是相同的。
然后你可以查看RadListView本身的DataBinding article。
答案 1 :(得分:1)
您是否尝试过调用Application.DoEvents()?