C# Telerik';更新数据源后,s RadListView不是图形项

C# Telerik';更新数据源后,s RadListView不是图形项,c#,.net,vb.net,winforms,telerik,C#,.net,Vb.net,Winforms,Telerik,我正在使用中的控件 我一步一步地做的是: 将数据源设置为控件 手动将垂直滚动条向下滚动 计时器计时后,数据源将在运行时更新 此时,在滚动并且数据源已更改之后,滚动条仍保持在相同的位置(如我所期望的),但是listview没有正确地更新布局,任何项都在控件中绘制 我发现解决此问题的唯一方法是手动滚动到up(仅滚动到up) 我尝试使用确保可见,执行布局,无效和滚动到方法,我还切换了可见属性的状态,但任何方法都解决了布局问题 如何修复它?您是否尝试调用Application.DoEvents()?由于

我正在使用中的控件

我一步一步地做的是:

  • 将数据源设置为控件

  • 手动将垂直滚动条向下滚动

  • 计时器计时后,数据源将在运行时更新

  • 此时,在滚动并且数据源已更改之后,滚动条仍保持在相同的位置(如我所期望的),但是listview没有正确地更新布局,任何项都在控件中绘制

    我发现解决此问题的唯一方法是手动滚动到up(仅滚动到up)

    我尝试使用
    确保可见
    执行布局
    无效
    滚动到
    方法,我还切换了
    可见
    属性的状态,但任何方法都解决了布局问题


    如何修复它?

    您是否尝试调用Application.DoEvents()?

    由于您的数据源不支持通知,因此未更新ListView。为了实现这一点,数据源应该实现IBIndingList,对象应该实现INotifyPropertyChanged。例如,可以使用BindingList代替IEnumerable。这方面的一个例子可以在中找到——尽管本文使用RadGridView,但在数据源方面,方法是相同的


    然后您可以查看for RadListView本身。

    什么是数据源-什么类型的对象?大多数控件不会“看到”对简单的
    列表(共T个)
    或其中的项所做的更改。@puropoix它是一个自定义类型的IEnumerable,只公开一些字符串属性。这不是答案,也不是好的建议。看:@puropoix:我只是想帮忙。。。不久前,我在telerik组件方面遇到了一些问题,Application.DoEvents()确实为我工作了。。。。