私は ObservableCollection プレイリストを持っています。このプレイリスト アイテムはリストボックスに表示されます。すべてのアイテムは、特別なスレッドでデータを更新します。すべてのデータを更新した後にのみ、リストボックス内の要素がその情報を更新する必要があります。実際、アイテム内のすべてのデータが変更されたことを通知する方法はありますか? 解決策は1つありますが、見た目が悪く、さらに場合によってはエラーにつながります。
private void AsyncMIReady(MediaItem mediaItem)
{
if (PlayList.Contains(mediaItem))
{
CurSynchronizationContext.Post(delegate(object someState)
{
UpdateItemInPlayList(mediaItem);
}
, null);
}
}
public void UpdateItemInPlayList(MediaItem mediaItem)
{
int i = PlayList.IndexOf(mediaItem);
PlayList.RemoveAt(i);
PlayList.Insert(i, mediaItem);
}