Example #1
0
 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);
     }
 }
Example #2
0
        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: 刷新所有歌曲的播放状态?
            }
        }