我的网格:的DevExpress GridControl - 刷新数据MVVM
<dxg:GridControl x:Name="StatisticsGridLevel1"
dx:ThemeManager.ThemeName="Office2013"
DataContext="{Binding FooViewModel}"
ItemsSource="{Binding FooCollection}">
视图模型:
private List<FooDto> fooCollection = new List<FooDto>();
public List<FooDto> FooCollection
{
get
{
return this.fooCollection;
}
private set
{
this.fooCollection = value;
this.NotifyPropertyChanged();
}
}
和实例方法:
private void Foo()
{
foreach (var element in collection)
{
this.fooCollection.Add(new FooDto()
{
X = element.Foo1,
Y = element.Foo2,
Z = element.Foo3
});
}
this.NotifyPropertyChanged("FooCollection");
}
当我使用的ObservableCollection,一切工作正常。但我想使用列表(这不是在循环中通知)。
视图在网格上的开始滚动后刷新。问题是什么?
为什么你不能坚持'ObservableCollection'?除非集合实现了'INotifyCollectionChanged',否则当集合被修改时,网格不会自动更新。 'ObservableCollection'实现了'List'接口。 –
因为我添加了很多项目的集合。我想在完成循环后刷新网格(手动调用Notify)。 – WymyslonyNick
好吧,我明白了,但我不明白你的问题。这意味着什么:'在网格上的开始滚动轮后刷新视图'?什么是开始滚动轮?你是指鼠标滚轮吗?你正在处理鼠标滚轮事件吗?如果是这样,那听起来像它可能与问题有关,你应该显示代码。这听起来像你说'尽管你正在使用'List'而不是'ObservableCollection',这个视图仍然在'Foo'中刷新?是对的吗? –