[英]Audio looping with XNA on Windows Phone 8 while the sound is still playing
[英]Data source skipping items while looping?
我已经将数据源绑定到longlistselector,并且效果很好。 我从一个相当大的嵌套json对象检索数据,并且它可以正常工作。 但是,当我尝试通过一个名为“ city”的属性来过滤项目时,会发生一些奇怪的事情。 在我的ViewModel中,我执行以下简单检查:
private ObservableCollection<GigViewModel> _gigs;
public ObservableCollection<GigViewModel> Gigs
{
get
{
for (int i = 0; i < _gigs.Count; i++)
{
if (_gigs[i].City == "venlo")
{
_gigs.Remove(_gigs[i]);
}
}
return _gigs;
}
private set
{
if (value != _gigs)
{
_gigs = value;
}
}
}
因此,当城市字符串等于“ Venlo”时,我希望将其删除。 City字符串可以是两件事之一,可以是“ Sittard”或“ Venlo”。 当我用“ Sittard”一词过滤列表时,输出是正确的,并且仅显示来自Venlo的项目(这是列表的较大部分),但是当我通过“ Venlo”过滤时,列表仍然包含一些具有城市字符串为“ Venlo”。
当我尝试调试时,我等待的时间越长,列表得到过滤的机会就越多,一段时间后,列表将被完全过滤且正确。 但是,当我在没有断点的情况下运行它时,列表没有得到正确过滤。 这种怪异行为有什么解释吗?
您可能会遇到问题,因为要从循环中使用_gigs.Count
作为循环上限的列表中删除项目。 我不确定每次执行循环时是否会重新评估此值,但是如果不执行此操作,则可能会给您带来怪异的行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.