只读集合c#wp7上不支持操作
当用户到达列表框底部时,我试图实现一个懒惰的“加载更多”项目,但每次我尝试向列表框添加新项目时,我都会得到如下结果: “只读集合上不支持操作。” 我已经尝试过从论坛到博客的几种解决方案,但似乎都不管用。我甚至不能理解问题背后的逻辑,这对我来说有点奇怪 我所做的基本上是加载一个项目列表,并将其指定为我的listbox的itemsource只读集合c#wp7上不支持操作,c#,.net,silverlight,windows-phone-7,C#,.net,Silverlight,Windows Phone 7,当用户到达列表框底部时,我试图实现一个懒惰的“加载更多”项目,但每次我尝试向列表框添加新项目时,我都会得到如下结果: “只读集合上不支持操作。” 我已经尝试过从论坛到博客的几种解决方案,但似乎都不管用。我甚至不能理解问题背后的逻辑,这对我来说有点奇怪 我所做的基本上是加载一个项目列表,并将其指定为我的listbox的itemsource wineFilterListBox.ItemsSource = wines; 当用户到达列表的底部时,我会添加更多的项目(就像用于wp7的twitter应
wineFilterListBox.ItemsSource = wines;
当用户到达列表的底部时,我会添加更多的项目(就像用于wp7的twitter应用程序一样)
公众可观察收集葡萄酒;
...
如果(在底部)
{
int Count=page.wineFilterListBox.Items.Count;
int end=计数+10;
for(int i=Count;i
使用ItemSource
时,Items
集合将变为只读。听起来您必须将数据添加到集合中,而不是添加到列表框中
请参阅MSDN:
特别是,本节:
设置ItemsSource属性后,Items集合将变为只读且大小固定
尝试直接将项目添加到wines
集合,因为您的集合是“可观察集合”:
您应该将ItemsSource设置为实现
INotifyCollectionChanged接口,以便集合中的更改
将反映在ItemsControl中。(T的)可观测集合
类定义了这样一个对象
仅供参考,如果您有意不想使用ObservableCollection
设置ItemsSource
您可以手动将Wine
添加到wineFilterListBox中。项目
for (int i = Count; i < 10; i++)
{
wineFilterListBox.Items.Add(new Wine());
}
for(int i=Count;i<10;i++)
{
wineFilterListBox.Items.Add(newwine());
}
这会导致wineFilterListBox.Items
不会变成只读的谢谢。删除最后一行就可以了。“wineFilterListBox.Items.Add(wines);”我尝试了太多的解决方案,以至于在使用ObservableCollection时错过了基本的解决方案。仅仅添加到葡萄酒列表就足以更新列表框。@Brunonnes:没问题!总是一些小事让我们感动:-)
for (int i = Count; i < 10; i++)
{
wineFilterListBox.Items.Add(new Wine());
}