我的網格:的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'中刷新?是對的嗎? –