private void OperateAllItems(Action <ListViewItem> action) { for (int i = 0; i < Songlist.Items.Count; i++) { var item = Songlist.ContainerFromIndex(i) as ListViewItem; if (item == null) { continue; } action.Invoke(item); } }
private void Instance_CurrentIndexChanged(object sender, Template10.Common.ChangedEventArgs <int> e) { //TODO: 针对播放中的打乱顺序进行处理 ListViewItem t; if (ListType == PlaylistType.LocalPlaylist) { if (e.OldValue >= 0) { t = Songlist.ContainerFromIndex(e.OldValue) as ListViewItem; VisualStateManager.GoToState((t.Tag as SongItem), "NotPlaying", true); } if (e.NewValue >= 0) { t = Songlist.ContainerFromIndex(e.NewValue) as ListViewItem; VisualStateManager.GoToState((t.Tag as SongItem), "Playing", true); //TODO: 增加新专辑的时候会存在Item不为空但是container为空的情况 } } else { //TODO: 刷新所有歌曲的播放状态? } }