我有一個Datagrid綁定到ObserveableCollection(MyClass)source1;如何在ObserveableCollection屬性更改時更新Silverlight中的DataGrid
MyClass的有2個屬性:字符串名稱,詮釋AGE
現在我有50個MyClass的OBJETS的集合,這意味着我在我的DataGrid 50行。 如果我想看到所有的行,我必須滾動,這是好的!
private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e){
int index = dataGrid.SelectedIndex;
obsCollection[index].Name="AAAAA";
}
每次我點擊一行,我想那行上的名稱更改爲字符串Name =「AAAAAA」;
整個事情工作,如果我向上或向下滾動,行不再顯示在數據網格中。不知何故,行在視線之外並且稍後顯示時會得到更新。當我滾動並返回到該行,現在該行在數據網格中再次顯示時,該值已被更新。
但我想要立即改變!只需選擇/單擊該行並將名稱更改爲「AAAAAA」。 我不想讓那一行看不見,以獲得更新。
編輯:我不能使用datagrid.itemsssource = null;因爲我會在選擇上得到無限循環
你的物品(MyClass)實現INotifyPropertyChanged嗎?這是用戶界面查看項目本身更改的要求。 –