![](/img/trans.png)
[英]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.