有人可以建议我做错了吗?基本上我有一个列表项,当一个项添加到列表时,我将集合重置为viewmodel属性。我可以让它工作的唯一方法是在重新分配绑定之前将成员对象清空。有关如何在项目添加到列表时更新UI的任何建议吗?
public List<Item> RegisteredItems
{
get
{
return m_vRegisteredItems;
}
set
{
m_vRegisteredItems= null;
NotifyPropertyChanged("RegisteredItems");
m_vRegisteredItems= value;
NotifyPropertyChanged("RegisteredItems");
}
}
答案 0 :(得分:7)
使用ObservableCollection<T>代替列表&lt; T&gt;。的ObservableCollection&LT; T&GT;实现INotifyCollectionChanged接口,允许Silverlight跟踪对集合的更改。
答案 1 :(得分:3)
确保您的收藏集实施INotifyCollectionChanged。 ObservableCollection<T>
为您做到这一点。
如果您将List<Item>
替换为ObservableCollection<Item>
,它将起作用。
此外,你不应该“设置”你的清单 - 你只需要吸气剂,除非你要改变整个清单。