tags:

views:

62

answers:

2

Hello, Can someone suggest what I am doing wrong? Basically I have a List Items, when an item gets added to the list I am resetting the collection to the viewmodel property. The only way I can get it to work is if I null the member object out before reassigning the binding. Any suggestions on how to go about updating a UI when an item gets added to a List?

    public List<Item> RegisteredItems 
    {
        get
        {
            return m_vRegisteredItems;
        }
        set
        {
            m_vRegisteredItems= null;
            NotifyPropertyChanged("RegisteredItems");
            m_vRegisteredItems= value;
            NotifyPropertyChanged("RegisteredItems");
        }
    }
+6  A: 

Use an ObservableCollection<T> instead of a List<T>. ObservableCollection<T> implements the INotifyCollectionChanged interface which allows Silverlight to track changes to the collection.

dtb
Thanks, that worked. I was serializing the object and I kept getting an issue with the original collection so I switched to list. But this collection serializes fine, thanks alot.
cw
+2  A: 

Make sure your collection implements INotifyCollectionChanged. ObservableCollection<T> does this for you.

If you replace your List<Item> with ObservableCollection<Item> it will just work.

Also, you shouldn't "set" your list - you just need the getter, unless you'll be changing the entire list.

Reed Copsey