Reputation: 981
When I'm trying to add items to observable collection, it always replace all items with items added last. What is the reason for it? My code is here
public class FavoriteClassList
{
public int ID { get; set; }
public string Name { get; set; }
}
public static ObservableCollection<FavoriteClassList> _FavoriteClassList = new ObservableCollection<FavoriteClassList>();
FavoriteClassList objFavoriteClassList = new FavoriteClassList();
for (int m=1;m<=10;m++)
{
objFavoriteClassList.ID = m;
objFavoriteClassList.Name = "Name"+m;
_FavoriteClassList.Add(objFavoriteClassList);
}
Now when printing values of AppGlobals._FavoriteClassList it shows 10 items. But ID and Name of each items is always 10 and Name10 respectively.
Upvotes: 0
Views: 53
Reputation: 9461
You added one object 10 times and rewrite it 10 times. Here is a fixed version:
public class FavoriteClassList
{
public int ID { get; set; }
public string Name { get; set; }
}
public static ObservableCollection<FavoriteClassList> _FavoriteClassList = new ObservableCollection<FavoriteClassList>();
for (int m=1;m<=10;m++)
{
FavoriteClassList objFavoriteClassList = new FavoriteClassList();
objFavoriteClassList.ID = m;
objFavoriteClassList.Name = "Name"+m;
_FavoriteClassList.Add(objFavoriteClassList);
}
Upvotes: 1